需求:实现生产一个消费一个。
定义一个保存资源的类Res:
class Resource{
private String name;
private int count = 1;
private boolean flag = false;
private Lock lock = new ReentrantLock();
private Condition condition_pro = lock.newCondition();
private Condition condition_con = lock.newCondition();
public void set(String name) throws InterruptedException {
lock.lock();
try {
while (flag){
condition_pro.await();
}
this.name = name+"--"+count++;
System.out.println(Thread.currentThread().getName()+"...生产者"+this.name);
flag = true;
condition_con.signalAll();
}finally {
lock.unlock();
}
}
public void out() throws InterruptedException {
lock.lock();
try{
while (!flag){
condition_co