04 2018 档案
摘要:Java并发编程之阻塞队列 实现线程安全的队伍有2种方式: 1. 阻塞式的, 也就是加锁 2. 非阻塞式的, 使用CAS, ConcurrentLinkedQueue就是使用的这种方式 阻塞队列提供两个附加的操作, 阻塞添加和阻塞移除: 阻塞添加: 当队列满时, 队列会阻塞添加元素的线程, 直到队列
阅读全文
摘要:CountDownLatch CountDownLatch可以用于一个或多个线程等待其他线程完成操作. 示例代码 代码中, 主线程启动一个thread1线程后, 调用CountDownLatch的 方法被阻塞, 一直等到计数器减为0. CountDownLatch的构造方法接收一个参数n作为计数器,
阅读全文
摘要:重入锁ReentrantLock 可以代替synchronized, 但synchronized更灵活. 但是, 必须必须必须要手动释放锁. 重入锁 是指任意线程在获取到锁之后能够再次获取该锁而不会被阻塞. 对于ReentrantLock而言, 释放锁时, 锁定调用了n次lock()方法, 那么释放
阅读全文

浙公网安备 33010602011771号