私はJava認定のために勉強しています.Mughalの本からこの例を見ています:
public class Smiley extends Thread
{
@Override
public void run()
{
while(true)
{
synchronized(this)
{
try
{
System.out.print(":");
Thread.sleep(100);
System.out.print("-");
Thread.sleep(100);
System.out.println(")");
Thread.sleep(100);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
new Smiley().start();
new Smiley().start();
}
}
目的は、1 行に 1 つのスマイリー :-) を出力することです。私の質問は、インスタンス (これ) で同期してもこれが達成されないのはなぜですか? なぜ静的レベルで同期する必要があるのですか?
ありがとう、