同步容器使用CAS
ConcurrentSkipListSet 跳表,用来排序的容器
CopyOnWriteList 写时复制 写加锁 读不加锁,适用读多写少的场景
添加元素的时候,先复制一份同样的数组出来。然后添加元素,在将之前的引用指向新的数组。
Queue(队列)
offer():添加数据,添加成功返回true,失败返回false。
add():添加元素,添加成功返回true,如果队列满了,添加失败抛出异常。
poll():获取最后一个元素,并移除。
peek():获取最后一个元素,不会移除。
BlockingQueue(阻塞队列)
take:阻塞方法,如果队列为空,会阻塞,等待队列有数据。
put:阻塞方法,如果队列满了,会阻塞,等待队列有空位。
SynchronousQueue 长度为0
DelayQueue
ArrayBlockingQueue
LinkedBlockingQueue
LinkedTransferQueue
Queue与List的区别
Queue类提供一些线程安全的方法