JCTools:JDK中缺失的并发工具

jctools

JCTools是服务虚拟机并发开发的工具,提供一些JDK没有的并发数据结构辅助开发。

功能特性

  • SPSC/MPSC/SPMC/MPMC 数据变量的并发队列:
    • SPSC:单个生产者对单个消费者(无等待、有界和无界都有实现)
    • MPSC:多个生产者对单个消费者(无锁、有界和无界都有实现)
    • SPMC:单生产者对多个消费者(无锁 有界)
    • MPMC:多生产者对多个消费者(无锁、有界)
  • SPSC/MPSC 提供了一个在性能,分配和分配规则之间的平衡的关联数组队列
  • 扩展队列的接口(MessagePassingQueue):
    • relaxedOffer/Peek/Poll: 对于空/满的队列基于某种机制下进行合并来改进队列的使用效率提高性能
    • drain/fill: 批量读写方法提高数据处理量并且减少数据冲突

下载

Maven

通过MAVEN依赖管理添加最新的版本:

Jitpack

或者通过jitpack来进行版本管理,通过下面的配置添加jitpack仓库:

然后添加以下MAVEN依赖配置:

基准测试

JCTools 使用JMH和handrolled harnesses做基准测试。jctools-benchmarks模块下面README文件存放着相关流程和命令。

实验

在jctools-expermiental模块下进行测试,大部分的代码都是可以进行直接使用进行开发,可以移植代码,稳定并且便于发布,但是依旧有一些接口将会保持不断的更新提高效率。

使用许可

遵循Apache 2.0开源协议发布。

官方网站:http://jctools.github.io/JCTools/
开源地址:https://github.com/JCTools/JCTools

1 收藏

资源整理者简介:Another_mt

简介还没来得及写 :) 个人主页 · 贡献了4个资源 · 1


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer