在有限的cpu时间内定期执行一个pthread
Periodic execution of a pthread with limited cpu time
我在Linux上,用pthreads做c++,一切都在SCHED_RR上。到目前为止,一切似乎都很顺利。现在我有一个线程,它做一个永无止境的计算,假设它不断地更新某个东西的状态。我想让它每10毫秒执行一次,每次不超过1毫秒。这有可能吗?
是的。该线程可以:
- 用合适的信号处理程序设置并报警1ms
- 开始工作
- 当告警发生时,信号处理程序设置条件为让计算停止
- 处理程序返回后继续计算,但在观察到停止条件已设置时将尽快停止
- 睡眠时间为9ms。
或者(而且更容易)您可以将线程的优先级设置得更低。这将导致操作系统仅在没有更重要的事情发生时才调度计算线程。唯一困难的是计算出一个大的或小的优先级值是更重要还是更不重要…
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- C++,系统无法执行指定的程序
- 使用C++中的模板和运算符重载执行矩阵运算
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 执行函数时导致崩溃的变量
- 无论条件是否为true,if总是在c++中执行
- 当函数模板参数是具有默认参数的类模板时,函数模板参数的推导如何执行
- 在C++中对T*类型执行std::move的意外行为
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如何在没有信号的情况下从C++执行QML插槽
- 如何确认我的constexpr表达式实际上已经在编译时执行
- C++17中的并行执行策略
- QML按钮点击功能执行顺序
- pthread执行时间比顺序执行时间差
- 如何修复:在c++中使用pthread执行lambda表达式
- 按执行顺序创建Pthread
- 如何验证pthread函数是否开始执行
- 在有限的cpu时间内定期执行一个pthread
- 使用pthread执行成员函数的C++
- Pthread—执行时间