Java并发工具包提供了哪些并发工具类

通常我们所说的并发包也就是java.util.concurrent,集中了Java并发的各种工具类。

同步结构:

  CountDownLatch  允许一个或多个线程等待某些操作完成

  CyclicBarrier  一种辅助性的同步结构,允许多个线程等待到大某个屏障

  Semaphore  Java版本的信号量实现

线程安全的容器:

  ConcurrentHashMap、侧重于Map放入或者获取的速度,而不在乎顺序

  ConcurrentSkipListMap、在乎顺序,需要对数据进行非常频繁的修改

  CopyOnWriteArrayList  任何修改操作,如add、set、remove,都会拷贝原数组,修改后替换原来的数组,通过这种防御性的方式,实现另类的线程安全。

各种并发队列的实现:如各种BlockedQueue实现,比较典型的ArrayBlockingQueue、SynchorousQueue或针对特定场景的PriorityBlockingQueue等。

强大的Executor框架:可以创建各种不同类型的线程池,调度任务运行等,绝大部分情况下,不再需要自己从头实现线程池和任务调度器。

猜你喜欢

转载自www.cnblogs.com/gujiande/p/9480004.html