我确定之前有人问过这个问题,所以我当然使用搜索功能来检查是否有解决我问题的答案。
然而,我所能找到的只是关于高精度测量时间的大量答案。
我需要的是一个高分辨率(至少毫秒)的计时器,它允许我在定义的时间段过去时触发回调。 我想在 Cocoa Mac OS X 应用程序中使用它,因此 C/C++ 或 Obj-C 是可能的。 如果需要额外的库,那么这也很好。
我找到了这个 http://www.songho.ca/misc/timer/timer.html但它使用的是繁忙的等待策略,我认为会消耗太多性能。
非常感谢您的帮助!
最佳答案
您可以直接使用 Apple 的 GCD。在 Mac OS X 上,GCD 从 v10.7 开始可用。
double delayInMilliseconds = 100.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInMilliseconds * NSEC_PER_MSEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
// callback invocation
});
关于c++ - 带回调的 ObjC/C/C++ 高分辨率计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15040351/