gpt4 book ai didi

只有 pthreads 的 C++ 定时器

转载 作者:行者123 更新时间:2023-11-28 07:37:27 25 4
gpt4 key购买 nike

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

例如,我将我的线程设置为在 100 毫秒内运行。它进入后台并检查时间。它应该运行频繁但时间短。在 100 毫秒时,它将中断线程并运行特定函数。

最佳答案

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

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

关于只有 pthreads 的 C++ 定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com