執行緒 promise furture 同步

2022-02-03 16:43:55 字數 933 閱讀 3017

promise 物件可以儲存某一型別 t 的值,該值可被 future 物件讀取(可能在另外乙個執行緒中),因此 promise 也提供了一種執行緒同步的手段。在 promise 物件構造時可以和乙個共享狀態(通常是std::future)相關聯,並可以在相關聯的共享狀態(std::future)上儲存乙個型別為 t 的值。

可以通過 get_future 來獲取與該 promise 物件相關聯的 future 物件,呼叫該函式之後,兩個物件共享相同的共享狀態(shared state)

#include //

std::cout

#include //

std::ref

#include //

std::thread

#include //

std::promise, std::future

void print_int(std::future&fut)

intmain ()

#include //

std::cin, std::cout, std::ios

#include //

std::ref

#include //

std::thread

#include //

std::promise, std::future

#include //

std::exception, std::current_exception

void get_int(std::promise&prom)

catch (std::exception&)

}void print_int(std::future&fut)

catch (std::exception&e)

}int

main()

執行緒!執行緒!!執行緒!!! Delphi版

以下內容僅供初學者參考 看到有的同學對delphi的執行緒認識不夠深,特開一貼給同學們講講。主要給出兩種常用的執行緒形式。1 長等待型執行緒示例,等待命令,執行不定長的工作,但每個工作的時間不會太長。2 長工作型執行緒示例,執行乙個很長時間的工作,但可以很快響應取消操作。以下程式所用的知識為 訊息機...

執行緒 執行緒控制代碼 執行緒ID

什麼是控制代碼 控制代碼是一種指向指標的指標。我們知道,所謂指標是一種記憶體位址。應用程式啟動後,組成這個程式的各物件是住留在記憶體的。如果簡單地理解,似乎我們只要獲知這個記憶體的首位址,那麼就可以隨時用這個位址訪問物件。但是,如果您真的這樣認為,那麼您就大錯特錯了。我們知道,windows是乙個以...

執行緒 執行緒控制代碼 執行緒ID

什麼是控制代碼 控制代碼是一種指向指標的指標。我們知道,所謂指標是一種記憶體位址。應用程式啟動後,組成這個程式的各物件是住留在記憶體的。如果簡單地理解,似乎我們只要獲知這個記憶體的首位址,那麼就可以隨時用這個位址訪問物件。但是,如果您真的這樣認為,那麼您就大錯特錯了。我們知道,windows是乙個以...