JC工具
时间:2020-01-09 14:11:13 来源:igfitidea点击:
JCTools(Java并发工具)提供了标准Java中缺少的一组常用的非阻塞并发数据结构。当争用数据结构(多个线程同时访问很多数据)时,非阻塞并发数据结构可以提供比阻塞并发数据结构更好的并发性。
JCTools是一个开源工具包,根据Apache License 2.0发布。
JCTools GitHub存储库
JCTools在这里有一个公共的GitHub存储库:
https://github.com/JCTools/JCTools
JCTools组件
JCTools中的主要组件是一组非阻塞队列。非阻塞队列是在多线程系统中的线程之间传递数据的有用方法。不同的用例将启用不同的队列实现。一些队列实现的性能要优于其他队列实现,因此我们应该为用例选择正确的队列实现。
JCTools中的队列是:
- SPSC-单一生产者单一消费者
- MPSC-多生产者单一消费者
- SPMC-单生产者多消费者
- MPMC-多生产者多消费者
"生产者"和"消费者"是指"生产线程"和"消费线程"。只要所有读取组件都由同一线程执行,多个组件就可以从"单个使用者"队列中读取。编写组件也是如此。