c - 如何让一个进程休眠几毫秒

标签 c linux sleep

我正在阅读有关 Sleep nanosleep usleep 的内容,但我不确定该使用哪一个,也不知道如何准确使用它。 .

我需要让进程每“10、20、30、40、50 毫秒”休眠一个随机数字。

我怎样才能实现这一目标?

我正在这样测试:

Sleep(rand()%1500);  

但我想知道是否可以在一行中设置该间隔。

最佳答案

  1. 您必须引用unistd.h
  2. 然后使用函数 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/

相关文章:

c++ - 关于dup2和多线程的问题

c - 在 Unix 上用 C 读取文本文件的一行——我的 read_line 坏了?

linux - Postman 没有安装 Node.js 和其他依赖项所需的权限

c - 带 sleep 的简单 C 代码在执行后没有输出

android - Android 中的时间延迟

创建一个程序来计算系统中的最大进程数

c - 如何将纹理存储在内存中并渲染其中的一小部分

php - Laravel,找不到html的真正来源

php - 与 PHP 的 SSH 连接

java - Thread.sleep() 和断点(挂起线程)之间的区别