1.读写锁
用于多个线程从中读取数据,很少线程从中写数据。
ReentrantLock
ReentrantReadWriteLock:
多线程学习5 - 草稿 - 草稿2.阻塞队列
LinkedBlockingQueue/LinkedBlockingDeque
ArrayBlockingQueue
PriorityBlockingQueue
DelayQueue/Delayed
BlockingQueue/BlockingDeque
3.线程安全的集合
concurrentHash
concurrentSkipListMap
concurrentSkipListSet
concurrentLinkedQueue
写数组拷贝:CopyOnWriteArrayList,CopyOnWriteArraySet
Vector与HashTable被弃用,取而代之的是CopyOnWriteArrayList与HashMap。任何集合类通过集合同步包装器变成同步集合:Collections.synchronisedList(new ArrayList<>())
Collections.synchronisedMap(new HashMap<>())
并发访问不同的桶,使用concurrent包定义的集合不会阻塞,例外:数组列表频繁被修改使用同步ArrayList,而不是CopyOnWriteArrayList。
Callable与Future与FutureTask
执行器:
网友评论