我不清楚您的实际问题是什么,但是您的第三句话说:“我想知道可以交替使用睡眠和加入方法的不同情况。”
从实用的角度来看,如果你拥有一支由软件开发人员编写的生产代码的工作,就不会有 任何
场景中,其他开发商将允许您使用连接(长)作为替代的睡眠(长)。没办法,没有办法!在某些情况下它会真正起作用并不重要。
生产代码应可读。该代码的意图对于其他人应该显而易见。它应遵守“最不惊奇的原则”(请参阅“ 干净代码: Robert C. Martin
编写的敏捷软件工艺手册”
)。这意味着,当您编写foobar.join(n)时,您应该期望foobar线程死亡。您可能已经准备好处理超时情况,但这应该是例外,而不是规则。没有其他正当理由调用join(n)。其他任何事情都是“
hack”,我们不会在生产代码中使用hack。



