c – 我是否需要加入我的应用程序中的每个线程?

我是多线程的新手,我需要全面了解“连接”,我是否需要加入我的应用程序中的每个线程?以及它如何与多线程一起工作?
最佳答案
不,你可以分离一个线程,如果你想让它不管它.
如果你启动一个线程,要么你要分离它,要么在程序结束之前加入它,否则这是未定义的行为.

要知道线程需要分离,你需要问自己这个问题:“我希望线程在程序主函数完成后运行吗?”.这里有些例子:

>当您执行File / New时,您创建一个新线程并将其分离:当用户关闭文档时线程将被关闭在这里您不需要加入线程
>当您执行蒙特卡罗模拟,某些分布式计算或任何Divide And Conquer类型算法时,您启动所有线程,您需要等待所有结果,以便您可以将它们组合在一起.在这里你明确需要在组合结果之前加入线程

转载注明原文:c – 我是否需要加入我的应用程序中的每个线程? - 代码日志