任何人都可以解释线程监视器并等待吗?
有人在工作中只是询问了必须将等待包装在同步中的原因。
老实说,我看不出其中的道理。我理解javadocs所说的 - 线程需要成为对象监视器的所有者,但为什么呢?它可以防止哪些问题?(如果确实有必要,为什么等待方法不能获取监视器本身?
我正在寻找一个相当深入的原因,或者可能是对一篇文章的引用。我在快速的谷歌中找不到一个。
哦,另外,thread.sleep如何比较?
编辑:一套很棒的答案 - 我真的希望我能选择不止一个,因为它们都帮助我了解发生了什么。