java-学习篇-并发容器和框架(java.util.concurrent)

简介

JDK 1.5 由大神 Doug Lea 推出并发包 java.util.concurrent 来简化并发处理。

接口

  • Executor
  • ExecutorService
  • ScheduledExecutorService
  • Future
  • ThreadFactory
  • BlockingQueue:阻塞队列

ConcurrentHashMap

  • 多线程环境下,HashMap 进行put操作会引起死循环
  • HashTable 容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法,其他线程也访问HashTable的同步方法时,会进入阻塞或轮询状态。
  • ConcurrentHashMap 分段锁技术可有效提升并发访问率

ConcurrentLinkedQueue

阻塞队列

阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。
阻塞队列

  • ArrayBlockingQueue:基于数组实现的有界阻塞队列。
  • LinkedBlockingQueue:基于链表实现的有界阻塞队列。
  • PriorityBlockingQueue
  • DelayQueue
  • SynchronousQueue
  • LinkedTransferQueue:基于链表组成的无界阻塞队列。
  • LinkedBlockingDeque

猜你喜欢

转载自blog.csdn.net/u010019244/article/details/105330379
今日推荐