如何才能实现同步?classThreadclazz2extendsThread{privateintdate=10;Threadclazz2(Stringname){super(name);}@Overridepublicvoidrun(){while(true){synchronized(this){if(date>0...
如何才能实现 同步?
class Threadclazz2 extends Thread{
private int date=10;
Threadclazz2(String name){
super(name);
}
@Override
public void run() {
while(true)
{
synchronized(this)
{
if(date>0)
{
try{
Thread.sleep(100);
}catch(Exception e){
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" "+date--);
}
else
break;
}
}
}
}
public class TB_ZJ3{
public static void main(String[] args) {
Threadclazz2 t1=new Threadclazz2("1号窗口");
Threadclazz2 t2=new Threadclazz2("2号窗口");
Threadclazz2 t3=new Threadclazz2("3号窗口");
t1.start();
t2.start();
t3.start();
}
}
运行结果:
1号窗口 10
3号窗口 10
2号窗口 10
2号窗口 9
1号窗口 9
3号窗口 9
1号窗口 8
2号窗口 8
3号窗口 8
1号窗口 7
3号窗口 7
2号窗口 7
1号窗口 6
3号窗口 6
2号窗口 6
1号窗口 5
2号窗口 5
3号窗口 5
1号窗口 4
3号窗口 4
2号窗口 4
1号窗口 3
3号窗口 3
2号窗口 3
1号窗口 2
3号窗口 2
2号窗口 2
1号窗口 1
3号窗口 1
2号窗口 1
展开