3
Disons que je cours du code dans l'expédition asynchrone. .. est-il un moyen de terminer le thread qu'il crée avant qu'il se termine? comme lorsque l'utilisateur clique sur annulerSortie prématurée de 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..
});
});
duplication possible de [Files d'attente d'envoi: comment savoir si elles sont en cours d'exécution et comment les arrêter.] (Http://stackoverflow.com/questions/1550658/dispatch-queues-how-to-tell-if- theyre-running-and-comment-stop-them) –
oh désolé à ce sujet. Bref, je devrais juste utiliser un drapeau. –
Oui, définissez un indicateur pour demander l'annulation et demandez à votre opération asynchrone de vérifier l'état d'annulation aux points désignés où vous pouvez annuler l'opération en toute sécurité (en vous assurant d'effectuer le nettoyage nécessaire). –