当前位置: 技术问答>linux和unix
linux精确到0.1毫秒
来源: 互联网 发布时间:2016-07-20
本文导语: 我需要做一个计时器,要求每隔12.5ms(毫秒)自动加1.怎么做到,谁有相关的方法。我用过select,好像不行!usleep就更不用说了肯定也不行! 我看有人说用pselect,我还没试,不过感觉恐怕也不行哦。。。。。。。。...
我需要做一个计时器,要求每隔12.5ms(毫秒)自动加1.怎么做到,谁有相关的方法。我用过select,好像不行!usleep就更不用说了肯定也不行! 我看有人说用pselect,我还没试,不过感觉恐怕也不行哦。。。。。。。。。。。。。。
|
个人同意2楼的想法
写了个程序,但手头没有linux测试.仅供参考,不保证绝对正确
写了个程序,但手头没有linux测试.仅供参考,不保证绝对正确
#include
#include
void* thread_proc(void* param)
{
struct timeval tv_old;
struct timeval tv;
struct timezone tz;
int a;//是对某个变量+1?
bool first = true;
while(1)
{
gettimeofday (&tv , &tz);
if(first){
gettimeofday(&tv_old , &tz);
first = false;
}
if(tv.tv_sec == tv_old.tv_sec){//整秒数相同
if(tv.tv_usec - tv.tv_usec > 12499 && tv.tv_usec - tv.tv_usec 12499 && timediff