首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

sem_timedwait 使用纳秒失败,使用秒成功,

2013-01-28 
sem_timedwait 使用纳秒失败,使用秒成功,求救啊?代码:sem_t mysem7 void *delay(void *)8 {9for(int i

sem_timedwait 使用纳秒失败,使用秒成功,求救啊?
代码:
    sem_t mysem;
  7 void *delay(void *)
  8 {
  9         for(int i = 0;i < 100;i++)
 10         {
 11                 struct timespec ts;
 12                 memset(&ts,0,sizeof(struct timespec));
 13                 ts.tv_sec = time(NULL);
 14                 ts.tv_nsec = 990*1000*1000;
 15                 sem_timedwait(&mysem,(const struct timespec*)&ts);
 16                 printf("%d\n",i);
 17                 //sem_post(&mysem);
 18         }
 19 }
    int main()
    {
      pthread thread
      pthread_create(&thread,NULL,delay,NULL)
      pthread_join(thread,NULL)
    }
[解决办法]
应该深入理解操作系统原理, 虽然提供了这么一个纳秒的接口,但任备做一次切换就不知道花了多少纳秒了,所以不可能做到精确, 一般来说10ms以上精度才有保证

热点排行