2016-07-19 1 views
1

Dans mon application, j'ai besoin d'exécuter plus de 300 threads de manière asynchrone [Chaque thread meurt en 500ms]. Dans Android, j'écris une classe ayncTask et exécute mon code à l'intérieur de celle-ci. Comment pouvons-nous faire dans iOS, j'ai besoin d'une classe pas une fonction.Comment écrire des classes de threads asynchrones dans iOS?

Veuillez fournir un exemple, un tutoriel ou une documentation. Ce sera d'une grande aide.

+0

'NSThread'? BTW, 300 threads est l'overkill total sur un dispositif de 4 ou 8 noyaux. Vous pouvez vouloir vérifier dans GCD et 'NSOperationQueue'. – Avi

+1

S'il vous plaît fournir un exemple ou un tutoriel ou un article si disponible. C'est une grande aide –

Répondre

3

J'utiliser GCD à cet effet, s'il vous plaît référer à ce tutoriel ou à la documentation de pomme: https://www.raywenderlich.com/60749/grand-central-dispatch-in-depth-part-1

Cela permettrait d'optimiser le nombre de threads selon le dispositif capabilibilities et élimine les allocations de fil inutiles. Vous auriez besoin de la file d'attente simultanée. Le plus simple (pas la façon la plus optimisée) est:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    // do your task here 
    }); 

Pour plus d'informations, consultez l'article précédemment mentionné.

+0

Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [Revue] (/ review/low-quality-posts/13051275) – NSNoob

+0

Vous avez raison, je vais l'éditer dans une minute avec la solution la plus simple. –