0

有没有办法在纯 C/C++ 中编写一个计时器,只使用 pthreads 既不是 boost 也不是 Qt。我希望操作系统只运行相关线程中的函数(例如 MyThreadClass.myfunction())。我不想检查每个线程中的信号(必须有一种类型的线程检查时间)。计时器线程必须在该时间尽快运行(通过中断其他进程和线程),并且能够计算在它不运行时经过的时间。并且它不能使用 while(true) 之类的循环,我不想让 CPU 忙。

例如,我将线程设置为在 100 毫秒内运行。它进入背景并检查时间。它应该频繁但短暂地运行。在 100 毫秒时,它将中断线程并运行特定功能。

4

1 回答 1

1

您必须更具体地说明为什么只需要使用 pthread。以下用途librt是大多数 POSIX 系统上包含的系统库的一部分。

听起来您想timer_createSIGEV_THREAD参数一起使用。这将创建一个线程并在计时器到期时运行指定的函数。

于 2013-05-10T22:56:49.480 回答