Java并发编程
文章平均质量分 58
topmostmvp
to strong
展开
-
Java实现生产者消费者的几种方法
目录信号量实现(Semaphore)管程实现(Synchronized)JUC实现(ReentrantLock + Condition)Condition实现按序消费 信号量实现(Semaphore) public class DemoSemaphore { public static void main(String[] args) { Item item = new Item(); ExecutorService threadPool = Executors.ne原创 2021-08-02 20:47:57 · 262 阅读 · 0 评论 -
Java并发编程中的虚假唤醒后果演示以及避免方法
虚假唤醒,就是线程在争夺物品合法性操作时选择了 if 进行判断,出现了消费了没有的物品的现象。演示如下 我们假设一共有三个线程A、B、C A 是生产线程,靠condition1(见代码)控制 B、C 是消费线程,靠condition2(见代码)控制 执行的代码如下所示 public class Demo { public static void main(String[] args) { Data data = new Data(); new Thread(()原创 2021-08-02 12:09:35 · 171 阅读 · 0 评论