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

溫馨提示×

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
富顺县| 中阳县| 丽江市| 内江市| 大关县| 稻城县| 辉县市| 桦甸市| 延长县| 阿鲁科尔沁旗| 肥乡县| 余庆县| 任丘市| 上林县| 娄烦县| 青阳县| 贵州省| 广河县| 泗阳县| 红原县| 盈江县| 巩留县| 芷江| 五峰| 白沙| 乐都县| 井陉县| 裕民县| 澄江县| 商城县| 来宾市| 平原县| 凤山市| 南澳县| 沛县| 积石山| 长子县| 安塞县| 宜阳县| 塘沽区| 胶南市|