62,621
社区成员
发帖
与我相关
我的任务
分享
package XueLer;
public class TestThreadABC implements Runnable{
public static SynchronzedLock lock = new SynchronzedLock();
public static char mark ='A';
public char name;
public TestThreadABC(char name){
this.name = name;
}
public char getName(){
return name;
}
public void run() {
while(SynchronzedLock.count < SynchronzedLock.total){
synchronized (lock){
if(this.getName() == mark){
SynchronzedLock.count ++;
System.out.println(this.toString());
mark = (char)(((mark-'A')+1)%3+'A');
}
}
}
}
public String toString(){
return "Name : " + name +" count : " + SynchronzedLock.count;
}
public static void main(String [] args) throws InterruptedException{
Thread thread1 , thread2 , thread3;
thread1 = new Thread(new TestThreadABC('A'));
thread2 = new Thread(new TestThreadABC('B'));
thread3 = new Thread(new TestThreadABC('C'));
thread1.start();
thread2.start();
thread3.start();
}
}
class SynchronzedLock{
public static final int total = 100;
public static int count = 0;
}