回覆列表
  • 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();

  • 中秋節和大豐收的關聯?
  • 大龍蝦要怎麼做才更有味道,更好吃?