public class A implements Runnable{
public static int a = 1;
public void run(){
while(true){
synchronized(this){
if(a <= 10){
System.out.println(Thread.currentThread().getName() + " : " +a);
for(long m=0; m<100000000; m++){}
a++;
}
else{
break;
}
}
try{
Thread.sleep((int)(Math.random()*3000));
}catch(InterruptedException e){
e.printStackTrace();
}
Thread.yield();
}
}
}
public class Test{
public static void main(String [] args){
A a = new A();
new Thread(a).start();
new Thread(a).start();
new Thread(a).start();
}
}
来自:http://chenhongbin007.blog.163.com/blog/static/34069921200932111230833/