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-多生产者多消费者

"生产者"和"消费者"是指"生产线程"和"消费线程"。只要所有读取组件都由同一线程执行,多个组件就可以从"单个使用者"队列中读取。编写组件也是如此。