我最近看了這個std::thread參考。std ::線程移動構造函數
對於移動構造函數,它說:
thread(thread&& other);
移動的構造。構造線程對象來表示由 其他表示的執行線程。 此次調用後其他不再代表 執行的線程。
此外,在下面的例子中有這些行:
int n=0;
std::thread t3(f2, n);
std::thread t4(std::move(t3)); // t4 is now running f2(). t3 is no longer a thread
什麼我不明白是什麼螺紋t3
和t4
到底會發生? t4
是否等到t3
完成執行?這是什麼意思t3
不再是一個線程?
「這個調用後,其他不再代表執行的線程」。 – juanchopanza
那意味着什麼?它立即停止執行? –
可能*表示執行線程的C++對象與執行線程* actual *之間存在差異。它類似於'std :: unique_ptr'表示某些內存的潛在所有權,但不是它自己的內存。這是「資源處理」與實際資源。 –