Java多线程(思维导图)
1, 2, 3, 4,相关例题 Answer-1: 解决办法: 注意这里使用lock-synchronized同步以及屏障 package com.cnblogs.mufasa.demo1.Answer1114; class Foo { private boolean firstBlock; private boolean secondBlock; private Object lock=new Object(); public Foo() { } public void first(Runnable printFirst) throws InterruptedException { synchronized(lock){ // printFirst.run() outputs "first". Do not change or remove this line. printFirst.run(); firstBlock=true; lock.notifyAll(); } } public void second(Runnable printSecond) throws InterruptedException { synchronized(lock){ while(!firstBlock){ lock.wait(); } // printSecond.run() outputs