Jon*_*eet 6

如果您确实需要等待线程完成,请使用

anotherThread.join()
Run Code Online (Sandbox Code Playgroud)

(您可能需要考虑在连接调用中指定超时.)

肯定不应该像你的第一个片段那样紧密循环...而且睡眠5ms几乎没有好转.

如果您不能使用join(例如,您正在等待任务完成而不是整个线程),您应该查看java.util.concurrent包裹 - 有可能满足您的需求.


mre*_*mre 5

恕我直言,完全避免使用这种逻辑.相反,也许使用属性更改侦听器实现某种通知系统.

  • +1通知机制,甚至没有提到任何类型的sleep()循环. (2认同)