我对objective-c有点陌生。所以,如果我的问题或代码看起来很奇怪,那就可以解释原因。我有一个每 0.033 秒触发一次的 NSTimer。
timer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(timerCallback) userInfo:nil repeats:YES];
选择器函数如下所示:
BOOL running = false;
- (void) timerCallback
{
if (running) {
return;
}
running = true;
//Do some stuff
running = false;
}
问题是,无论如何保持同步,都必须在这些时间间隔触发 timerCallback 函数。(跳过详细说明)
但是......事实证明,timerCallback 函数会导致 NSTimer 停止并等待它完成,然后再恢复?
我有什么选择来维持间隔?timerCallback 函数可以在单独的线程中执行吗?有比 NSTimer 更好的选择吗?也许一个单独的线程开始?