我一直在学习 Java(Oracle Press Books),我正在学习线程。这些示例与书中的内容有些不同。到目前为止,这是可以理解的。然而这个最新的似乎有点奇怪。这是代码: http: //pastebin.com/tu0qajMF
这些程序演示了线程之间使用 wait() 和 notify() 的通信。它有一个对象,有两个同步方法tick 和tock。它们只是显示滴答和滴答。运行示例时,它应该运行“Tick Tock Tick Tock ...”,它通常会这样做。然而有时它会变成“Tock Tick Tock Tick”。
为什么要这样做?
我怎样才能改变代码,所以它不会?