Macos 应用程序在后台运行时未触发OS X Cocoa计时器

Macos 应用程序在后台运行时未触发OS X Cocoa计时器,macos,nstimer,sleep,nsthread,Macos,Nstimer,Sleep,Nsthread,第三方库提供了一个我需要每100ms调用一次的函数。只要我的应用程序在前台,设置一个定时器就可以很好地完成这项工作。当我的应用程序在后台时,计时器会工作一段时间,但大约一分钟后,只有在10秒延迟后才会调用计时器。当我使用usleep函数创建一个单独的线程时,也发生了同样的情况。当我的应用程序在后台时,有什么方法可以让计时器保持运行吗?用于禁用应用程序的应用程序nap。您应该尝试重新设计以避免这些频繁的计时器,尤其是当您的应用程序在后台时。进行此类更改将提高用户的电池寿命。目前为止,哪一版本的Ma

第三方库提供了一个我需要每100ms调用一次的函数。只要我的应用程序在前台,设置一个定时器就可以很好地完成这项工作。当我的应用程序在后台时,计时器会工作一段时间,但大约一分钟后,只有在10秒延迟后才会调用计时器。当我使用usleep函数创建一个单独的线程时,也发生了同样的情况。当我的应用程序在后台时,有什么方法可以让计时器保持运行吗?

用于禁用应用程序的应用程序nap。

您应该尝试重新设计以避免这些频繁的计时器,尤其是当您的应用程序在后台时。进行此类更改将提高用户的电池寿命。

目前为止,哪一版本的MacOs?仅在OS X 10.9 Mavericks上进行了测试。您可以使用“taskinfo”命令检查应用程序是否正在应用nap。这就是问题所在。禁用应用程序nap后,我的计时器现在可以在后台正常运行。