NSOperation cancelAllOperations занимает слишком много времени для отмены операций - PullRequest
1 голос
/ 05 марта 2012

У меня есть NSOperationQueue, к которому я добавил объекты своего пользовательского класса (наследует от NSOperation), я установил для "setMaxConcurrentOperationCount" значение 1. Но когда я отменяю все операции, подобные этой:

[mOperationQueuecancelAllOperations];

иногда требуется от 10 до 15 секунд, чтобы отменить их все.

NSOperationQueue содержит около 60-80 задач (операций).

Первоначально я отменялоперации в основном потоке, который, очевидно, заблокировал основной поток, но теперь я сделал это в другом потоке. Но моя главная проблема в том, что это занимает слишком много времени.Есть предложения?

1 Ответ

1 голос
/ 05 марта 2012

Ваша операция должна проверять, отменяется ли она чаще (например, при реализации -main).

Помимо этого, запустите сэмплер, чтобы увидеть, что занимает все это время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...