91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++ wait_for如何實現

c++
小樊
82
2024-11-24 11:57:50
欄目: 編程語言

wait_for 是 C++11 標準庫 <future> 中的一個函數,它用于等待一個異步操作完成

#include <iostream>
#include <chrono>
#include <thread>
#include <future>

int main() {
    // 創建一個異步任務
    std::packaged_task<int()> task([](){
        std::this_thread::sleep_for(std::chrono::seconds(2)); // 模擬耗時操作
        return 42; // 返回結果
    });

    // 獲取異步任務的 future 對象
    std::future<int> result = task.get_future();

    // 在一個新線程中運行異步任務
    std::thread task_thread(std::move(task));
    task_thread.detach();

    // 等待異步任務完成,最多等待 3 秒
    if (result.wait_for(std::chrono::seconds(3)) == std::future_status::ready) {
        // 獲取異步任務的結果
        int value = result.get();
        std::cout << "異步任務返回結果: " << value << std::endl;
    } else {
        std::cout << "異步任務未完成,已超時" << std::endl;
    }

    return 0;
}

在這個示例中,我們創建了一個異步任務,該任務會休眠 2 秒并返回結果。我們使用 get_future() 獲取異步任務的 future 對象,然后在一個新線程中運行該任務。接下來,我們使用 wait_for() 函數等待異步任務完成,最多等待 3 秒。如果異步任務在 3 秒內完成,我們將獲取并輸出其結果;否則,我們將輸出任務未完成的消息。

0
长沙县| 桂东县| 枣阳市| 望奎县| 三河市| 封开县| 昌邑市| 南雄市| 岳阳县| 卢龙县| 潜江市| 伊宁县| 揭西县| 都安| 故城县| 芜湖市| 赤水市| 太原市| 高邮市| 南昌县| 威海市| 鄄城县| 东山县| 孝昌县| 桐乡市| 永康市| 缙云县| 新竹县| 若羌县| 靖西县| 安远县| 黄大仙区| 聂拉木县| 类乌齐县| 色达县| 沙湾县| 崇仁县| 静乐县| 巫溪县| 长沙市| 饶平县|