iPhone - GCD проверяет, приостановлена ​​ли очередь - PullRequest
10 голосов
/ 31 января 2011

Я должен использовать dispatch_resume(...);, чтобы возобновить отправку, которая была приостановлена, но поскольку метод возобновления отправки может вызываться несколькими частями приложения, мне нужно знать, приостановлена ​​ли отправка, прежде чем вызывать ее для возобновления ( Документы говорят, что я должен сбалансировать отправку резюме / приостановить и не может иметь больше резюме, чем приостановки, или я закончу с "отрицательным счетчиком приостановки".

Есть ли способ сделать тест, если отправка приостановлена?

1 Ответ

13 голосов
/ 01 февраля 2011

Нет, по замыслу (и так же, как нет механизма отмены). Понятие приостановки / возобновления должно быть сбалансировано так же тщательно, как удерживать / отпускать

То есть, если A приостанавливает очередь, B не может безопасно знать, что она может возобновить очередь без глубокого знания A. Принимая во внимание, что для API диспетчеризации нет причин добавлять сложность в -поддерживаемые запросы и включают целый класс ошибок, которые могут возникать повсюду.

...