实现Runnable接口,在run方法中加一个synchronized锁,代码如下:
public class threadLock implements Runnable {
private int number = 100;
private Object lock = new Object() ;
@Override
public void run() {
while(true) {
synchronized (lock) {
if(number>0) {
System.out.println(Thread.currentThread().getName()+"卖出去了,第"+number+"张票");
number--;
}else
break;
}
}try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
用一个类去测试代码
public class Test {
public static void main(String[] args) {
threadLock T = new threadLock();
Thread t1=new Thread(T,"第一家");
Thread t2=new Thread(T,"第二家");
Thread t3=new Thread(T,"第三家");
Thread t4=new Thread(T,"第四家");
t1.start();
t2.start();
t3.start();
t4.start();
}
}