劇多
首頁
資訊
體育
娛樂
汽車
投資
財經
軍事
科技
數碼
科學
遊戲
歷史
健康
政治
影視
旅遊
育兒
美食
時尚
房產
農業
社會
文化
教育
技術
美文
情感
故事
家居
職場
自然
闢謠
心理
攝影
漫畫
生活
其它
Club
Tips
熱門話題
搜尋
註冊
登入
首頁
>
Club
>
2021-05-03 00:46
多執行緒情況下,主執行緒先退出,子執行緒會被強制退出嗎?
12
回覆列表
1 # 使用者9863782197231
首先子執行緒必須由主執行緒啟動,所以嚴格意義上的“子執行緒結束後再執行主執行緒”是不可能實現,你的意思應該是:主執行緒建立完子執行緒後,等待子執行緒退出,在繼續執行。
你的程式碼基本沒有多大問題,只是 Join 方法位置放置不對。thread1.Start(); // 先啟動所有子執行緒 thread2.Start(); thread3.Start(); thread4.Start(); thread5.Start(); thread1.Join(); // 然後在等待子執行緒退出 thread2.Join(); thread3.Join(); thread4.Join(); thread5.Join(); 你先前的程式碼: thread1.Start(); // 執行緒1 啟動 thread1.Join(); // 等待 執行緒1 退出,執行緒1 未退出前,後面程式碼無法執行 thread2.Start(); // 以下程式碼,均同上所述。thread2.Join(); thread3.Start(); thread3.Join(); thread4.Start(); thread4.Join();
發表回復
相關內容
Java多執行緒,執行緒處於阻塞狀態時會佔用cpu資源嗎,導致阻塞的原因消失之後阻塞解除怎麼理解?
既然Python直譯器是單執行緒的,還有進行多執行緒程式設計的必要嗎?
Linux多執行緒實現執行緒間不停的切換?
c# 怎麼等待執行緒池中所有執行緒都執行結束在執行主執行緒?
∧
中秋節和大豐收的關聯?
∨
大龍蝦要怎麼做才更有味道,更好吃?
熱門排行
谷麥輪衝釣可以嗎?
s9塞恩給什麼裝備好?
貨車水溫高怎麼快速降溫?
瓜特別甜的說說?
樓梯牆裙多高好看?
奧妙洗衣液正品和仿品的區別?
炫色粉怎麼改色?
大眾Lavida壓縮機電磁線圈怎麼更換?
葡萄糖脫氫酶和氧化酶哪個準確?
鐵桿三國魂將怎麼獲取?
首先子執行緒必須由主執行緒啟動,所以嚴格意義上的“子執行緒結束後再執行主執行緒”是不可能實現,你的意思應該是:主執行緒建立完子執行緒後,等待子執行緒退出,在繼續執行。
你的程式碼基本沒有多大問題,只是 Join 方法位置放置不對。thread1.Start(); // 先啟動所有子執行緒 thread2.Start(); thread3.Start(); thread4.Start(); thread5.Start(); thread1.Join(); // 然後在等待子執行緒退出 thread2.Join(); thread3.Join(); thread4.Join(); thread5.Join(); 你先前的程式碼: thread1.Start(); // 執行緒1 啟動 thread1.Join(); // 等待 執行緒1 退出,執行緒1 未退出前,後面程式碼無法執行 thread2.Start(); // 以下程式碼,均同上所述。thread2.Join(); thread3.Start(); thread3.Join(); thread4.Start(); thread4.Join();