join()我想知道在啟動執行緒后不立即放置是否有任何優勢?
std::thread t(func);
// some code ...
t.join();
它是否給您帶來任何優勢,或者在執行緒啟動后使用它總是更可取?
std::thread t(func);
t.join();
// some code ...
uj5u.com熱心網友回復:
如果您join()在啟動新執行緒后立即使用,那么它將阻止(等待)join()呼叫執行,直到新執行緒完成運行(破壞您從啟動新執行緒獲得的并行化的全部目的)。因此,如果你想在執行緒執行時在主執行緒上執行“一些代碼” t,join()應該在“一些代碼”之后。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/475206.html
