c语言实现线程等待0.1秒

程序是这样的,多线程,没一个线程的工作是相同的,工作内容是满足条件1,就发送A包(一个网络数据包),然后如果满足条件2,就发送B包。现在想修改为:满足条件1,就等待0.1... 程序是这样的,多线程,没一个线程的工作是相同的,工作内容是满足条件1,就发送A包(一个网络数据包),然后如果满足条件2,就发送B包。

现在想修改为:满足条件1,就等待0.1秒发出A包,如果满足条件2就发出B包

试过用usleep,因为usleep是整个进程挂起,所以影响了所有线程发包的速度。我想实现的是某个线程能等待再发包,也不影响其他线程处理其他包,所以有没有在单一线程等待0.1秒的函数?
展开
 我来答
风影美
2017-01-09 · TA获得超过1287个赞
知道大有可为答主
回答量:870
采纳率:100%
帮助的人:505万
展开全部
函数应该是没有。。sleep挂起了整个就停止了肯定不行
你可以弄个循环,定义两个时间,一个是你准备开始等待的时间start,一个是当前时间current
用c语言的时间函数得到这两个时间,做差
如果差值是0.1秒,就继续向下进行,如果不是0.1,就继续循环判断这样
while((current - start) < 0.1); 大概是这么个意思。。自己写个循环把这个线程hang住
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式