在很多情况下,主线程生成并启动了子线程,如果子线程里要进行大量的耗时运算,主线程往往将于子线程之前结束,但是如果主线程处理完其它事务后,需要用到子线程的处理结果,也就是主线程需要等待子线程执行完成之后再结束,这个时候就要用到join()方法了。

从表现来看,主线程调用子线程的join()方法,导致主线程阻塞,直到子线程执行完毕后,才回到主线程中。"join"的命名来源于posix标准,子线程join到主线程(启动程序的线程,比如C语言执行main函数的线程),阻塞线程仅仅是一个表现,而非目的。其目的是等待当前线程执行完毕后,“计算单元”与主线程汇合,即主线程与子线程汇合之意。

更详细的,可以了解一下fork/join的相关理论。

 

相关文章:

  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2022-02-05
  • 2022-02-17
猜你喜欢
  • 2022-02-06
  • 2022-01-01
  • 2021-10-20
  • 2021-12-15
  • 2021-06-12
  • 2022-03-10
相关资源
相似解决方案