CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

pthread_cond_timedwait为什么不起作用

楼主kingofhell(地狱之王)2003-12-02 16:57:19 在 Linux/Unix社区 / 程序开发区 提问

void   fun()  
  {  
      struct   timespec   tm;  
      tm.tv_sec   =   2;  
      tm.tv_nsec   =   0;  
   
      pthread_mutex_lock(&mutex);  
      while(1)  
    {  
          pthread_cond_timedwait(&cond,   &mutex,   &tm);  
          printf("DD\n");  
    }  
  }  
   
  上边是线程函数,但是一旦执行,就根本没有阻塞2秒,屏幕一直输出dd;请问为什么!? 问题点数:80、回复次数:2Top

1 楼hoyt(hoyt(欢迎访问 www.linuxc.net))回复于 2003-12-02 17:01:11 得分 5

把你的所有代码帖出来看看.  
  pthread_cond_timedwait是最大等待信号.即最多等待那么多的时间,如果有信号则根本就不等待.Top

2 楼growup(Robin Guo)回复于 2003-12-02 17:50:37 得分 75

int   pthread_cond_timedwait(pthread_cond_t   *cond,   pthread_mutex_t   *mutex,   const   struct   timespec   *abstime);    
  注意abstime是绝对时间  
   
  1.  
  tm.tv_sec   =   time(NULL)+2;  
  tm.tv_nsec   =   0;  
  2.  
  struct   timeval   now;  
  gettimeofday(&now);  
  tm.tv_sec   =   now.tv_sec   +   2;  
  tm.tv_nsec   =   now.tv_usec   *   1000;  
  Top

相关问题

  • sendmessage不起作用
  • onDraw不起作用?
  • include不起作用
  • SetWindowPos不起作用
  • JSTL不起作用
  • 加速键不起作用?
  • SetDefaultColWidth,SetCellTextStyle不起作用啊
  • 为何getcolumn()不起作用
  • Try...Except不起作用
  • 为何Hook不起作用

关键词

  • tv
  • sec
  • timedwait
  • cond
  • pthread
  • tm
  • nsec
  • mutex
  • struct

得分解答快速导航

  • 帖主:kingofhell
  • hoyt
  • growup

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo