线程通讯(一)
2026/7/28 20:03:50 网站建设 项目流程

##底层业务线数据隔离

要求:子线程循环跑30次,暂停,然后跑到主线程40次,接着子线程循环跑30次,暂停,主线程跑40次
如此往复,一共交替50次

publicclassThreadTest{privatestaticLock lock=newReentrantLock();privatestaticCondition chil_condition=lock.newCondition();privatestaticCondition main_condition=lock.newCondition();privatevolatilestaticintsign=0;publicstaticvoidmain(String[]args)throwsException{newThread(()->{while(true){for(inti=0;i<50;i++){lock.lock();try{if(sign!=0){chil_condition.await();}for(intj=0;j<30;j++){try{Thread.sleep(40);}catch(InterruptedExceptione){e.printStackTrace();}System.out.println(String.format("子线程运行第%d轮第%d次",i,j));}sign=1;main_condition.signal();}catch(InterruptedExceptione){e.printStackTrace();}finally{lock.unlock();}}}}).start();while(true){for(inti=0;i<50;i++){lock.lock();if(sign==0){main_condition.await();}for(intj=0;j<40;j++){Thread.sleep(40);System.out.println(String.format("主线程运行第%d轮第%d次",i,j));}sign=0;chil_condition.signal();lock.unlock();}}}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询