实现自定义sleep

来源:互联网 发布:java this的作用 编辑:程序博客网 时间:2024/06/05 04:46
#include <iostream>#include <chrono>#include <thread> // "busy sleep" while suggesting that other threads run // for a small amount of timevoid little_sleep(std::chrono::microseconds us){    auto start = std::chrono::high_resolution_clock::now();    auto end = start + us;    do {        std::this_thread::yield();    } while (std::chrono::high_resolution_clock::now() < end);} int main(){    auto start = std::chrono::high_resolution_clock::now();     little_sleep(std::chrono::microseconds(100));     auto elapsed = std::chrono::high_resolution_clock::now() - start;    std::cout << "waited for "              << std::chrono::duration_cast<std::chrono::microseconds>(elapsed).count()              << " microseconds\n";}

0 0
原创粉丝点击