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

我们通常所说的并发包也就是 java.util.concurrent 及其子包,集中了 Java 并发的各种基础工具类,具体主要包括几个方面

提供了比 synchronized 更加高级的各种同步结构,包括 CountDownLatch、 CyclicBarrier、Sempahore 等,可以实现更加丰富的多线程操作,比如利用 Semaphore 作 为资源控制器,限制同时进行工作的线程数量。

CountDownLatch,允许一个或多个线程等待某些操作完成。
CyclicBarrier,一种辅助性的同步结构,允许多个线程等待到达某个屏障。
Semaphore,Java 版本的信号量实现。

各种线程安全的容器,比如最常见的 ConcurrentHashMap、有序的 ConcunrrentSkipListMap,或者通过类似快照机制,实现线程安全的动态数组CopyOnWriteArrayList 等。

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券