ConcurrentMap
最多分16段(细粒度,减少锁的力度,减小锁竞争)
ConcurrentHashMap(无序map)
ConcurrentSkipListMap(有序map)
Copy-On-Write
写时复制,完成后把指针指向新容器(应用场景,读多写少)。内部加锁,多个写后一个会等待第一个执行完成。
copyonwritearraylist
copyonwritearrayset
Queue
ConcurrentLinkedQueue
高性能队列(生成者小于消费者),无界,不阻塞,先进先出
无锁的方式
头是最先加入的,尾是最近加入的,该队列不允许null元素。
ConcurrentLinkedDeque q = new ConcurrentLinkedDeque();
q.offer("方法1");
q.offer("码云1");
q.offer("方法2");
q.offer("方法3");
q.offer("码云2");
//从头获取元素,删除该元素
System.out.println(q.poll());
//从头获取元素,不刪除该元素
S