je suis un debutant en objective c j'aimerai bien connaitre si les thread en objective c sont les meme que java??
merci
je suis un debutant en objective c j'aimerai bien connaitre si les thread en objective c sont les meme que java??
merci
Cocoa dispose de NSThread qui encapsule les pthreads.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // création du Thread // task : instance du classe ayant un selector -(void)mainEntryPoint:(id)inParam qui fait le "boulot" // et éventuellement un champ delegate qui contiendra un objet qui répond à un protocole quelconque // que l'on définira pour assurer les callbacks qui doivent s'exécuter sur le Main Thread (par exemple rafraîchir l'UI) // par exemple ici une méthode -(void)myDelegateProtocolCallback:(id)message, voir plus bas SomeClass *task = [[SomeClass alloc] initWithSomeParam: andDelegate: ] ; [NSThread detachNewThreadSelector:@selector(mainEntryPoint:) toTarget:task withObject:someParam] ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // threaded task object - (void)mainEntryPoint:(id)inParam { NSAutoreleasePool *localPool; while(![self jobIsDone]) { localPool = [[NSAutoreleasePool alloc] init]; // ... do the job ... if( /* something to be updated in the UI */ ) { [delegate performSelectorOnMainThread:@selector(myDelegateProtocolCallback:) withObject:somethingToTellToMainThread waitUntilDone:NO]; } [localPool drain]; } }
Notez que vous pouvez aussi faire des threads avec Grand Central Dispatch, c'est un peu plus compliqué à appréhender mais l'overhead de création d'une tâche est environ 100x moindre que celui de la création d'un pthread.
merci bcp pour votre explication.
je cherche un doc ou un lien qui traite les threads en objective c.
j'ai cherche mais j'ai rien trouver
parce que "thread en objective-c" est une mauvaise cible de recherche…
les seules choses qui sont relatives aux threads dans Objective-C à strictement parler c'est le mot clé @synchronized qui sert à marquer les zone critiques (nouveauté de Objective-C 2.0) et "atomic" comme paramètre de @property.
article sur le site d'Apple
Par contre, Cocoa (et GNUStep aussi) encapsule les objects habituels Posix dans les classes : NSThread, NSLock, NSRecursiveLock.
Bonjour,
Je suis débutante en objective C. Je souhaiterais savoir comment lancer un thread dès le lancement d'une application.
Au faite je veux faire appel à une méthode(faire un thread qui appelle cette méthode dès le lancement de l application jusqu'à l’arrêt de l application)
Merci d'avance pour votre réponse
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager