我正在阅读有关 Sleep
nanosleep
usleep
的内容,但我不确定该使用哪一个,也不知道如何准确使用它。 .
我需要让进程每“10、20、30、40、50 毫秒”休眠一个随机
数字。
我怎样才能实现这一目标?
我正在这样测试:
Sleep(rand()%1500);
但我想知道是否可以在一行中设置该间隔。
最佳答案
- 您必须引用
unistd.h
。 - 然后使用函数
rand()
和usleep()
。
样本可能是:
// edited as @JonathanLeffler advised
...
#include <unistd.h>
...
void foo(int someArgs) {
...
useconds_t sleepTime;
...
// create random int r where 0 <= r < 0x7fffffff
sleepTime = (useconds_t)(((rand() % 5) + 1) * 10000);
usleep(sleepTime);
...
// for a single line preference, following may work it out
usleep(((rand() % 5) + 1) * 10000);
}
关于c - 如何让一个进程休眠几毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504018/