ExampleOne:实现4个窗口各卖100张票
售票:
class Sall extends Thread{
public Sall(String name) {
super();
}
@Override
public void run() {
for (int i = 1; i <101; i++) {
System.out.println(Thread.currentThread().getName()+"售出了"+i+"张票");
}
}
}
测试:
public class Main2 {
public static void main(String[] args){
Sall s=new Sall("----------------------------------");
Thread w1=new Thread(s,"a");
Thread w2=new Thread(s,"b");
Thread w3=new Thread(s,"c");
Thread w4=new Thread(s,"d");
w1.start();
w2.start();
w3.start();
w4.start();
}
}
ExampleTwo:实现4个窗口共卖100张票
售票:
class Sall implements Runnable {
private int tick = 100;
Lock lock=new ReentrantLock();
@Override
public void run() {
while (true){
lock.lock();
try {
if (tick < 1) {
break;
}
System.out.println( Thread.currentThread().getName() + "售出了第" + tick + "张票" );
tick--;
}finally {
lock.unlock();
}
}
}
}
测试:
public class Main2 {
public static void main(String[] args){
Sall s=new Sall();
Thread w1=new Thread(s,"a");
Thread w2=new Thread(s,"b");
Thread w3=new Thread(s,"c");
Thread w4=new Thread(s,"d");
w1.start();
w2.start();
w3.start();
w4.start();
}
}