喂!
我正在寻找一种可移植的方式来定期分派(dispatch)C++项目中的任务。在此特定项目中,应避免使用诸如boost之类的库。
分辨率要求不是太严格:平均上网本在5Hz到20Hz之间。
该项目使用OpenGL渲染HMI,但是由于我在后端部分上工作,所以我不太熟悉它。
感谢您的任何意见或建议,
阿恩
编辑:我们的“任务”类实际上所做的是使用Windows的CreateThread(..)或Linux的pthread_create(..)创建线程。
最佳答案
由于最简单的方法是在一个周期内使用Sleep(100ms),因此您需要的只是便携式Sleep。对于Linux,可以如下实现
void Sleep(unsigned long ulMilliseconds)
{
struct timeval timeout;
timeout.tv_sec = 0;
timeout.tv_usec = ulMilliseconds * 1000;
select(1, NULL, NULL, NULL, &timeout);
}