亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++中promise函數的用法是什么

c++
小億
121
2024-03-15 16:02:58
欄目: 編程語言

在C++中,promise是一種用于在一個線程中設置某個值,然后在另一個線程中獲取該值的機制。promise對象允許一個線程設置一個值(通常是一個異步操作的結果),而future對象允許另一個線程獲取這個值。

promise對象通常與future對象一起使用,以便在一個線程中設置值,然后在另一個線程中獲取值。promise對象提供了set_value()方法來設置值,并且可以通過get_future()方法獲取一個與這個promise對象相關聯的future對象。

以下是一個簡單的示例,演示了promise和future的基本用法:

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

void setValue(std::promise<int> &prom) {
    prom.set_value(42);
}

int main() {
    std::promise<int> prom;
    std::future<int> fut = prom.get_future();

    std::thread t(setValue, std::ref(prom));

    int value = fut.get();

    std::cout << "Value received from another thread: " << value << std::endl;

    t.join();

    return 0;
}

在上面的示例中,我們創建了一個promise對象和一個future對象。然后我們創建了一個新的線程,并將promise對象傳遞給該線程的函數。在該函數中,我們調用set_value()方法設置值為42。在主線程中,我們通過調用future對象的get()方法獲取這個值,并打印出來。

需要注意的是,promise對象只能設置一次值。如果嘗試多次設置值,會拋出一個std::future_error異常。

0
台北县| 雷波县| 云龙县| 玉山县| 紫云| 灵丘县| 台中市| 永川市| 宁乡县| 凤凰县| 林甸县| 石渠县| 象山县| 景洪市| 东海县| 内江市| 龙井市| 娱乐| 武川县| 芜湖市| 南宁市| 祥云县| 宝坻区| 辽阳市| 盖州市| 苏尼特左旗| 崇仁县| 周口市| 永丰县| 平潭县| 富裕县| 苏尼特左旗| 望都县| 澜沧| 永胜县| 长顺县| 河南省| 绥芬河市| 玛纳斯县| 晋城| 驻马店市|