基础
xy10242018
这个作者很懒,什么都没留下…
展开
-
线程同步的例子:汪汪队立大功
队长分配任务给某只狗狗之后就进入等待状态,该狗狗完成任务之后会唤醒他,他就接着分配下一个任务。public class PAW_Patrol { private static Lock lock = new ReentrantLock(); private static Condition c1 = lock.newCondition(); private static List<String> tasks = Stream.of("救火", "救溺", "导航",原创 2021-11-28 15:34:25 · 199 阅读 · 0 评论 -
线程同步之Condition实现多路通知
JDK从1.5版本开始提供了并发包,利用其中的Lock接口及其实现类与Condition类结合,可以选择性地唤醒某些正在等待锁的线程,即可以实现多路通知。public class School { private static Lock lock = new ReentrantLock(); //学生列表 private static List<Student> students = new ArrayList<>(); public stati原创 2021-11-28 15:10:55 · 100 阅读 · 0 评论 -
线程的同步机制的实现
线程的同步机制有两种实现方法:使用java.lang.Object类的wait()、notify()、notifyAll()方法。使用java.util.concurrent.locks.Condition类的await()、signal()、signalAll()方法。下面分别实现。第一种方式:public class P_C { private final static Object object = new Object(); private static int nu原创 2021-11-28 15:09:50 · 120 阅读 · 0 评论