05 2021 档案
摘要:@ BlockingQueue 称为堵塞队列,可以向队列中添加元素,也可以从队列中取出元素。 当队列为空时,取出可以返回失败,抛出异常或者堵塞;当队列满时,添加可以返回失败,抛出异常或者堵塞。堵塞的方法分别是 put/take。 生产者和消费者问题可以通过堵塞队列实现,只需要在队列为空或满的时候堵塞
阅读全文
摘要:CopyOnWriteArrayList 是一种写时复制的 ArrayList,在写操作时加锁,拷贝原数组成员,在拷贝的数组上进行修改,并重置数组。 该类对于读写可以并发执行,如果写线程还未重置数组,读到的是旧数据;如果已经重置,读到的是新数据。 1 基本属性和方法 写时使用 ReentrantLo
阅读全文
摘要:1 介绍 1.1 ReentrantReadWriteLock ReentrantReadWriteLock 是一个读写锁,允许多个读或者一个写线程在执行。 内部的 Sync 继承自 AQS,这个 Sync 包含一个共享读锁 ReadLock 和一个独占写锁 WriteLock。 该锁可以设置公平和
阅读全文