簡體   English   中英

如何工作 std::condition_variable::wait_until

[英]How works std::condition_variable::wait_until

為什么這段代碼運行得非常快?

int main() {
    std::condition_variable cv;
    std::mutex mtx;
    std::unique_lock<std::mutex> lock(mtx);
    cv.wait_until(lock, std::chrono::system_clock::now() + 10000ms);

    return 0;
}

似乎 wait_until 被忽略

你可能會得到一個虛假的喚醒 嘗試使用接受謂詞的重載...

#include <condition_variable>

int main() {
    std::condition_variable cv;
    std::mutex mtx;
    std::unique_lock<std::mutex> lock(mtx);
    cv.wait_until(lock, std::chrono::system_clock::now() + 10000ms, []{ return false; });

    return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM