7 Stimmen

Ist der NSTimer thread-sicher?

Ich habe einen wiederholten Timer mit einem Intervall von 1/4 Sekunde. Ich initialisiere ihn wie folgt:

[NSTimer scheduledTimerWithTimeInterval:0.25 
                                 target:self 
                               selector:@selector(toggleCams) 
                               userInfo:nil 
                                repeats:YES];

Geschieht dies synchron? Mit anderen Worten: Ist sichergestellt, dass eine andere Methode in derselben Klasse nicht gleichzeitig mit dem Aufruf von toggleCams aufgerufen wird?

19voto

Saurabh Punkte 22503

Die NSTimers feuern eigentlich nur periodisch Ereignisse in die umschließende NSRunLoop, die jeder Thread hat (oder haben sollte). Wenn Sie also einen Kind- (oder Hintergrund-) Prozess haben, der in einem anderen Thread läuft, werden die NSTimers gegen die NSRunLoop dieses Threads feuern, anstatt gegen die Haupt-NSRunLoop der Anwendung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X