几乎所有支持线程的编程语言都有一个名为join
的方法。我理解join
的作用,但是想知道命名背后的原因是什么? finish
之类的名称不是更合适吗?
答案 0 :(得分:4)
我认为它来自执行路径的类比。在生成线程时,程序的执行路径分为两个独立的路径,现在您希望这两个路径再次连接回一个路径。
答案 1 :(得分:3)
线程A和线程B做了不同的事情,现在他们要重新组合,因为他们的结果必须交换 - 他们将相互加入,继续并最终再次分裂。
答案 2 :(得分:2)
正如我理解/解释它(虽然我错了)但是执行线程应该对单个整体任务做出贡献(如果线程之间没有交互,那么它们也可能是单独的进程,之后线程的所有主要要点之一是克服进程之间的沟通障碍)。因此,子任务从整个任务中分离出来然后在稍后重新加入,而不是陷入死胡同似乎是合乎逻辑的。另外,当创建一个线程时,它会被分配一些父级资源,即使该线程没有返回一个值,它仍然应该返回它首先给出的值,从而合并或“加入”原始线程