c – 随机时间延迟

前端之家收集整理的这篇文章主要介绍了c – 随机时间延迟前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在进程之间发送信号,我需要在我的信号生成循环中允许0.01到0.1秒之间的随机时间延迟.所以这就是我正在做的事情,它肯定不在0.01和0.1之间,而是在1秒之内.不知道我在这里缺少什么.
sleepTime = 100000L+(long)((1e6-1e5)*rand()/(RAND_MAX+1.0));        
    usleep(sleepTime);

解决方法

如果你有C 11:
#include <thread>
#include <random>
#include <chrono>

int main()
{
    std::mt19937_64 eng{std::random_device{}()};  // or seed however you want
    std::uniform_int_distribution<> dist{10,100};
    std::this_thread::sleep_for(std::chrono::milliseconds{dist(eng)});
}

它可能不是你的教授所期待的.

猜你在找的C&C++相关文章