私はLearningJava(Oracle Press Books)をやっていて、スレッドを学んでいます。例は本とは少し異なります。これまでのところ、それは理解できました。しかし、この最新のものは少し奇妙に思えます。コードは次のとおりです:http://pastebin.com/tu0qajMF
プログラムは、スレッド間のwait()およびnotify()との通信を示します。これには、2つの同期されたメソッドtickとtockを持つオブジェクトがあります。彼らは単にダニとトックを表示します。例を実行すると、「Tick TockTickTock...」になります。通常はこれを行います。それでも時々それは「TockTickTockTick」になります。
なぜこれをしているのですか?
コードを変更しないようにするにはどうすればよいですか?