03 2021 档案
摘要:本文总结自《Java并发编程的艺术》 等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作。CountDownLatch的构造函数接收一个int类型的参数作为计数器,如果你想等待N个线程完成任务,这里就传入N。当我们调用CountDownL
阅读全文
摘要:本节内容总结自《Java 并发编程的艺术》 Java中的阻塞队列 什么是阻塞队列 定义:阻塞队列是支持阻塞的插入和移除方法。支持阻塞的插入是指,当队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法是指,队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景
阅读全文
摘要:本文总结自《Java并发编程的艺术》 和 https://mp.weixin.qq.com/s/My4P_BBXDnAGX1gh630ZKw 5.6.1 ConcurrentHashMap JDK7中HashMap在多线程情况下会出现的问题 在多线程环境下,JDK7中进行扩容操作时可能会造成某个桶内
阅读全文
摘要:本节内容总结自《Java 并发编程的艺术》 5.5.1 Lock接口 Lock接口的作用 它提供了与synchronized关键字类似的同步功能,只是在使用时需要显示的获取和释放锁。虽然他缺少了隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性,可中断的获取锁以及超时获取锁等多种synchr
阅读全文