劇多
首頁
資訊
體育
娛樂
汽車
投資
財經
軍事
科技
數碼
科學
遊戲
歷史
健康
政治
影視
旅遊
育兒
美食
時尚
房產
農業
社會
文化
教育
技術
美文
情感
故事
家居
職場
自然
闢謠
心理
攝影
漫畫
生活
其它
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# 怎麼等待執行緒池中所有執行緒都執行結束在執行主執行緒?
∧
中秋節和大豐收的關聯?
∨
大龍蝦要怎麼做才更有味道,更好吃?
熱門排行
1400大卡等於多少脂肪?
文具貴的文案?
同步針車底線頭太短怎麼調?
蛋仔島怎麼升級?
excel單元格格式數字怎麼改都是000?
和平小店怎麼買浪漫天命?
文明2怎麼同化?
ug80工具條定製怎麼調小?
Bora怎麼設置用鑰匙控制車窗?
佛系很走心的乾淨網名一個字?
首先子執行緒必須由主執行緒啟動,所以嚴格意義上的“子執行緒結束後再執行主執行緒”是不可能實現,你的意思應該是:主執行緒建立完子執行緒後,等待子執行緒退出,在繼續執行。
你的程式碼基本沒有多大問題,只是 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();