java并发包

  • 2015-12-21
  • 3,745
  • 0

Java 并发包位于:

java.util.concurrent

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

无锁的并行计算,CAS java.util.concurrent.atomic

  1. AtomicBoolean
  2. AtomicInteger

java.util.concurrent.locks

  1. ReentrantLock
  2. ReentrantReadWriteLock
>> 转载请注明来源:java并发包

评论

还没有任何评论,你来说两句吧

发表评论