3
Допустим, что я запускаю некоторый код в async отправки. .. есть ли способ завершить созданный поток до его завершения? например, когда пользователь нажимает на отменуПреждевременный выход из dispatch_asycn, Grand Central Dispatch
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//start doing something here.. break bofore it finishes?
dispatch_async(dispatch_get_main_queue(), ^{
//main thread stuff..
});
});
Возможный дубликат [Очереди отправки: как узнать, запущены ли они и как их остановить.] (Http://stackoverflow.com/questions/1550658/dispatch-queues-how-to-tell-if- theyre-running-and-how-to-stop-them) –
oh жаль об этом. поэтому вкратце я должен просто использовать флаг. –
Да, установите флаг, чтобы запросить отмену, и выполните операцию асинхронного сканирования, чтобы проверить статус отмены в определенных точках, где можно безопасно отменить (обязательно сделайте необходимую очистку). –