【发布时间】:2016-04-04 18:20:09
【问题描述】:
我正在将数据包从发送者线程发送到接收者线程。为了控制发送速率(每秒包数),我计算了在发送下一个数据包之前需要等待的时间,以保持一定的发送速率。
假设需要等待的时间计算为 100 微秒。
- 我看看现在几点了:
(double)(clock() - start)/CLOCKS_PER_SEC; - 我打电话给
usleep(100); - 我又看看现在几点了:
(double)(clock() - start)/CLOCKS_PER_SEC;
在第 3 步中,当我检查仅经过 50 微秒的时间时(我检查了 usleep 的返回值并确认它返回 0)。
这是为什么?它不应该休眠至少 100 微秒吗?或者我应该与clock() 一起使用不同的睡眠功能吗?感谢您的任何建议
【问题讨论】:
-
usleep返回什么? 0 还是 -1? -
usleep 返回 0。如何获取挂钟时间?
-
没关系,我找到了一个例子。谢谢约阿希姆!
标签: c