劇多
首頁
資訊
體育
娛樂
汽車
投資
財經
軍事
科技
數碼
科學
遊戲
歷史
健康
政治
影視
旅遊
育兒
美食
時尚
房產
農業
社會
文化
教育
技術
美文
情感
故事
家居
職場
自然
闢謠
心理
攝影
漫畫
生活
其它
Club
Tips
熱門話題
搜尋
註冊
登入
首頁
>
Club
>
2021-05-03 00:46
多執行緒情況下,主執行緒先退出,子執行緒會被強制退出嗎?
11
回覆列表
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# 怎麼等待執行緒池中所有執行緒都執行結束在執行主執行緒?
∧
中秋節和大豐收的關聯?
∨
大龍蝦要怎麼做才更有味道,更好吃?
熱門排行
72化氏ex+和vix哪個更值得入手?
為什麼聯想沒有銳龍的小新了?
兒童妝閃粉怎麼用?
靈巧有什麼用?
如何補充男性荷爾蒙?
懸空寺登臨費有必要嗎?
特斯拉陷入泥地如何脫困?
什麼是失格犬?
wallpaper視頻安全嗎?
貓咪吃了罐罐後不吃貓糧咋辦?
首先子執行緒必須由主執行緒啟動,所以嚴格意義上的“子執行緒結束後再執行主執行緒”是不可能實現,你的意思應該是:主執行緒建立完子執行緒後,等待子執行緒退出,在繼續執行。
你的程式碼基本沒有多大問題,只是 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();