我正在学习java认证,我从莫卧儿的书中看到了这个例子:
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();
}
}
目的是每行打印一个笑脸:-)。我的问题是为什么在实例(this)上同步不能实现这一点?为什么我们需要在静态级别同步?
谢谢,