java并发包
Java 并发包位于:
java.util.concurrent
- ArrayBlockingQueue 定长阻塞队列
- ConcurrentHashMap 高性能线程安全的HashMap,使用分段锁提供高能
- ConcurrentLinkedQueue 高性能线程安全LinkedQueue,使用CAS操作代替锁提高性能
- CopyOnWriteArrayList 线程安全的ArrayList,写时复制,用于读大于写的场景
- CountDownLatch 同步计数器,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。 CountDownLatch 很适合用来将一个任务分为n个独立的部分,等这些部分都完成后继续接下来的任务,CountDownLatch 只能出发一次,计数值不能被重置。
- CyclicBarrier 它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 CyclicBarrier可以多次重复使用
- DelayQueue 是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。
- LinkedBlockingDeque 无界阻塞双端队列
- LinkedBlockingQueue 无界阻塞队列
- ThreadPoolExecutor 线程池
无锁的并行计算,CAS java.util.concurrent.atomic
- AtomicBoolean
- AtomicInteger
- …
java.util.concurrent.locks
- ReentrantLock
- ReentrantReadWriteLock
赏
免费分享,随意打赏
发表评论