我正在阅读Sleep
nanosleep
usleep
,但我不确定使用哪一个,以及如何正确使用它......
我需要为每个'10,20,30,40,50毫秒'的random
号码进行一个进程休眠。
我怎样才能做到这一点?
我正在测试:
Sleep(rand()%1500);
但我想知道是否可以在一行中设置该间隔。
答案 0 :(得分:3)
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);
}