写一个生产者和消费者,生产-消费-生产-消费,这样一个循环。公共类ShareData{privatevolatileintnum=0;私有锁lock=newReentrantLock();私有条件条件=lock.newCondition();publicvoidincrement(){try{lock.lock();while(num!=0){condition.await();}数++;System.out.println("Thread--"+Thread.currentThread().getName()+"已经执行了增加操作,num-->"+num);健康)状况。信号全部();}catch(Exceptione){e.printStackTrace();}最后{lock.unlock();}}publicvoiddecrement(){try{lock.lock();while(num==0){condition.await();}数--;System.out.println("Thread--"+Thread.currentThread().getName()+"执行了归约操作,num-->"+num);健康)状况。信号全部();}catch(Exceptione){e.printStackTrace();}最后{lock.unlock();}}}publicstaticvoidmain(String[]args){ShareDatadata=newShareData();对于(inti=0;i<5;i++){newThread(()->{data.increment();},"AAA").start();}for(inti=0;i<5;i++){newThread(()->{data.decrement();},"BBB").start();}}2个线程,一个用于生产,一个用于消费。生产者增量后,唤醒消费者,消费者开始消费。
