0
說我使用async在單獨的線程中調用某個函數,並且函數等待輸入數據(數據以2-3秒的間隔出現)。我可以將數據傳遞給在單獨的線程中運行的函數嗎?例如:C++ 11如何將數據傳遞給正在運行的線程
void f(int x) { std::cout << "x: " << x << std::endl;}
int main() {
int x = get_x();
std::async(std::launch::asunc, f, x);
while(true) {
x = get_x();
//update x and sleep 2 sec
}
}
當你真的嘗試這個時會發生什麼? – YePhIcK
@YePhIcK我想這個函數總是打印第一個x值,不是嗎? –
我大多指出,代碼甚至不會編譯(更少運行),這表明缺少發佈問題的研究 – YePhIcK