JCTools - Java Concurrency Tools for the JVM
Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.
-
SPSC/MPSC/SPMC/MPMC variations for concurrent queues:
- SPSC - Single Producer Single Consumer (Wait Free, bounded and unbounded)
- MPSC - Multi Producer Single Consumer (Lock less, bounded and unbounded)
- SPMC - Single Producer Multi Consumer (Lock less, bounded)
- MPMC - Multi Producer Multi Consumer (Lock less, bounded)
-
SPSC/MPSC linked array queues offer a balance between performance, allocation and footprint
-
An expanded queue interface (MessagePassingQueue):
- relaxedOffer/Peek/Poll: trade off conflated guarantee on full/empty queue state with improved performance.
- drain/fill: batch read and write methods for increased throughput and reduced contention
http://jctools.github.io/JCTools
https://github.com/JCTools/JCTools
License:
Tech:
Tags: