多线程情况下,主线程先退出,子线程会被强制退出吗?
2019-09-05

首先子线程必须由主线程启动,所以严格意义上的“子线程结束后再执行主线程”是不可能实现,你的意思应该是:主线程创建完子线程后,等待子线程退出,在继续执行。

你的代码基本没有多大问题,只是 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();

大家都在看
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!本站文章版权归原作者所有,内容为作者个人观点。本站只提供参考并不构成任何投资及应用建议。本站拥有对此声明的最终解释权。