NSTimer это потокобезопасность? - PullRequest
6 голосов
/ 17 декабря 2011

У меня повторный таймер с интервалом 1/4 секунды. Я инициализирую это так:

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

Это происходит синхронно? Другими словами, я гарантирую, что другой метод в том же классе не будет вызван в то же самое время, когда вызывается toggleCams?

1 Ответ

18 голосов
/ 17 декабря 2011

NSTimers фактически просто периодически запускают события во вмещающий NSRunLoop, который есть у каждого потока (или должен иметь).Итак, если у вас есть дочерний (или фоновый) процесс, запущенный в другом потоке, NSTimers будет запускаться против NSRunLoop этого потока вместо основного NSRunLoop приложения.

...