public class Letters extends Thread{
private String name;
public Letters(String name) {
this.name=name;
}
public void write(){
System.out.print(name);
System.out.print(name);
}
public void run(){
synchronized (System.out){//或者用 synchronized (Letters.class){ x
write();
}
}
public static void main(String[] args) {
new Letters("X").start();
new Letters("Y").start();
}
}
x 行中 System.out 或者Letters.class 在这里分别代表什么啊?? 为什么这样用呢? 目的想让这个程序输出 XXYY或 YYXX
你用其它的对象都是可以的,譬如你用this也行,你自己随便定义一个Stirng str="",用str也可以!
这个监听器对象是随意的.
为什么这样用呢?是因为java中规定了synchronized关键字必须要这么用啊,是语法上的规定啦!