Я недавно стал любопытным на iOS. Пожалуйста, укажите мне в том направлении, в котором вы бы взяли, чтобы достичь (если возможно) следующего на современных устройствах iOS ... спасибо!Threading, приоритеты и остатки
Пользователь вводит текст, произнося слово каждые несколько секунд.
Время от времени я хочу запустить DifficultProcess для выполнения семантической обработки. Короче говоря, я думаю, мне нужно, чтобы быть в состоянии сделать четыре вещи:
- запуска DifficultProcess от главного
- если DifficultProcess завершает, получить сообщение обратно от него к тому же самому главному
- отказаться, избавиться от , DifficultProcess, если я хочу, от основного
- и, наконец, вопрос приоритета: сложный процесс должен иметь гораздо более низкий приоритет, чем основной или пользовательский ввод, я хочу, чтобы у DifficultProcess действительно был приоритет looow; что это возможно?
Какие, по сути, вызовы, которые используются для A, B, C в современных (2011) (конец января) iOS? Меня не интересуют методы папы! И «D» даже возможно в любом случае?
Я предполагаю, что это четыре идеи!
Так что, в частности, я хочу отправить сообщение, другими словами, вызвать подпрограмму в текущем фоновом процессе (таким образом, при желании можно удалять фоновый процесс или, возможно, изменить его режим работа и т. д.).
(Для тех, кто родился до 1997 года, вы узнаете, что в качестве типичной «спекулятивных обработок» парадигмы.)
Спасибо за указатели для тех, кто может быть потрудился на этом!
Существует несколько подходов: 1) в главном коде потока, сохраняйте явную ссылку на NSOperation и просто вызывайте -cancel на нем. Или 2) сохраните ссылку на свой NSOperationQueue и вызовите на него -cancelAllOperations (который отправит -cancel для всех операций в очереди). –
Apple docs на NSOperation покажет все. Вы можете установить уровень приоритета для операции. –