Arw*_*196 8 c++ multithreading pthread-join
我是多线程的新手,我需要了解关于"连接"的全部想法,我是否需要加入我的应用程序中的每个线程?以及它如何与多线程一起工作?
不,你可以分离一个线程,如果你想让它不管它.如果你启动一个线程,要么你要分离它,要么在程序结束之前加入它,否则这是未定义的行为.
要知道线程需要分离,你需要问自己这个问题:"我想在程序主函数完成后运行该线程吗?".这里有些例子:
当您执行File/New时,您创建一个新线程并将其分离:当用户关闭文档时线程将被关闭在这里您不需要加入线程
当您执行蒙特卡罗模拟,某些分布式计算或任何Divide And Conquer类型算法时,您启动所有线程,您需要等待所有结果,以便您可以将它们组合在一起.在这里你明确需要在组合结果之前加入线程