当前位置:  技术问答>linux和unix

关于等待毫秒的问题

    来源: 互联网  发布时间:2017-04-06

    本文导语:  我就需要pthread_cond_timedwait函数等待500毫秒,看了写网上代码似乎都没说明白,特地上来问下,下面是网上代码 struct timeval now; gettimeofday(&now, NULL); m_tWaitTime.tv_sec = now.tv_sec ; m_tWaitTime.tv_nsec =  now.tv_usec *...

我就需要pthread_cond_timedwait函数等待500毫秒,看了写网上代码似乎都没说明白,特地上来问下,下面是网上代码

		struct timeval now;
gettimeofday(&now, NULL);
m_tWaitTime.tv_sec = now.tv_sec ;
m_tWaitTime.tv_nsec =  now.tv_usec * 1000;//网上这么写

int ret = 0;
ret = pthread_cond_timedwait(&m_tCond, &m_mutex, &m_tWaitTime);




m_tWaitTime.tv_sec = now.tv_sec ;//这句没问题
m_tWaitTime.tv_nsec =  now.tv_usec * 1000;//网上这么写 似乎不对吧
首先 now.tv_usec是代表什么意思(当然不是说就代表微秒就完了,是代表从开机启动的微秒么???,还是该秒后的n多微秒)


|
 struct timeval now;
 gettimeofday(&now, NULL);
now存的时间(now.tv_sec+now.tv_usec)是从1970年1月1日0时0分0秒到gettimeofday那一刻的时间总数

now.tv_usec代表的微秒
等待500毫秒可以如下

m_tWaitTime.tv_sec=(now.tv_sec*1000000+now.tv_use+500*1000)/1000000;//得到的是秒数
m_tWaitTime.tv_nsec=(now.tv_sec*1000000+now.tv_use+500*1000)%1000;//得到的是剩下的纳秒数

|
 now.tv_usec  单位是毫秒,m_tWaitTime.tv_nsec 单位是纳秒, 乘1000进单位。。。。。。。。。

|
不能这么写,pthread_cond_timedwait(&m_tCond, &m_mutex, &m_tWaitTime);
后面的waittime表示到这个时间点如果条件还不满足就超时,比如m_tWaitTime.tv_sec = now.tv_sec + 1;
表示经过1秒超时

    
 
 

您可能感兴趣的文章:

  • 100分,等待,在线等待:防火墙问题?
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • 关于信号问题,在线等待
  • 等待回执造成的信息堵塞问题
  • linux下 SOCKET 通信问题(在线等待,急!!!)
  • FreeBSD安装问题!(在线等待)
  • 安装问题 急!!!在线等待
  • 有关liunx启动的问题?在线等待!!!
  • jsp小问题(在线等待)
  • 在线等待!cmp的问题
  • 在线等待,简单问题!
  • 关于等待某个事件的问题
  • 父进程的等待问题
  • iptables 问题 在线等待!!
  • openSuSE11远程桌面应用问题,在线等待!
  • 关于JavaBean 和标签库Tag的问题???在线等待谢谢各位老大的帮助!来者有分!!
  • 在线等待,linux,windows2000,安装问题!满分赠!
  • Linux下的JBuilder问题?(在线等待!)
  • 再线等待,我的问题:
  • redhat8.0中网卡的问题..(在线等待)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 等待IO时,进程是不是一定被切换到 "等待IO"的状态上去
  • 为什么我等待一个子进程的终止总是等待失败啊?
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • 等待输入操作
  • 急问:如何得到linux下c程序运行中的IO等待时间?
  • 如何在servlet中实现“正在查询,请等待”的功能
  • Linux 中如何等待一个信号
  • linux 下如何等待某个进程结束
  • linux下如何在等待线程结束中设置超时?
  • “死锁就是循环等待”这句话不对吗?谢谢!
  • 如何等待线程干净退出?
  • 用while循环等待事件发生时是否可以释放系统资源
  • 请问:如何优雅的结束一个正在等待锁的线程?
  • 大家好,linux内核中等待队列如何使用?哪儿有这些资料?谢谢各位
  • 60分,求知JBuilder的CD-KEY! 在线等待
  • 新手上路,请多关照!如何查看启动日志????在线等待!!
  • 急救:关于BLOB数据类型---在线等待,高分相送!
  • 有无条件等待指令吗?
  • 在线等待,gcc的网址是什么??
  • 哪儿有bes5下载,在线等待。下载成功再送299分!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,