为什么Thread join()在它击败线程viz并发的唯一目的时是有用的

dro*_*ean 5 multithreading

由于线程连接导致逻辑的顺序执行,首先在多个线程之间划分任务的动机是什么?换句话说,我无法想象一个真正需要线程连接的场景.

Ree*_*sey 5

join()如果要启动多个线程,则可以使用,然后等待所有线程完成.

例如,启动5个工作项,每个工作项在自己的线程中,然后调用join()5个线程将​​允许您同时处理所有5个项目,但阻止它们全部完成.

请注意,许多语言/框架比明确加入线程有更好的选择.例如,在.NET世界中,TPL允许您安排在一个或多个任务(可以根据需要映射到线程)全部完成时发生的延续.