<commit_before>[![Total alerts](https://img.shields.io/lgtm/alerts/g/JCTools/JCTools.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/JCTools/JCTools/alerts/)
[![Coverage Status](https://coveralls.io/repos/github/JCTools/JCTools/badge.svg?branch=master)](https://coveralls.io/github/JCTools/JCTools?branch=master)
[![Build Status](https://travis-ci.org/JCTools/JCTools.svg?branch=master)](https://travis-ci.org/JCTools/JCTools)

JCTools
==========
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 (bounded and unbounded) offer a balance between performance, allocation and footprint
- MPSC/MPMC XAdd based, unbounded linked array queues offer reduced contention costs for producers (using XADD instead of a CAS loop), and pooled queue chunks for reduced allocation.
- 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
  
There's more to come and contributions/suggestions are most welcome. JCTools has enjoyed support from the community
and contributions in the form of issues/tests/documentation/code have helped it grow.
JCTools offers excellent performance at a reasonable price (FREE! under the Apache 2.0 License). It's stable and in
use by such distinguished frameworks as Netty, RxJava and others. JCTools is also used by commercial products to great result.<commit_msg>Update build status link<commit_after>[![Total alerts](https://img.shields.io/lgtm/alerts/g/JCTools/JCTools.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/JCTools/JCTools/alerts/)
[![Coverage Status](https://coveralls.io/repos/github/JCTools/JCTools/badge.svg?branch=master)](https://coveralls.io/github/JCTools/JCTools?branch=master)
[![Build Status](https://app.travis-ci.com/JCTools/JCTools.svg?branch=master)](https://travis-ci.com/JCTools/JCTools)

JCTools
==========
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 (bounded and unbounded) offer a balance between performance, allocation and footprint
- MPSC/MPMC XAdd based, unbounded linked array queues offer reduced contention costs for producers (using XADD instead of a CAS loop), and pooled queue chunks for reduced allocation.
- 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
  
There's more to come and contributions/suggestions are most welcome. JCTools has enjoyed support from the community
and contributions in the form of issues/tests/documentation/code have helped it grow.
JCTools offers excellent performance at a reasonable price (FREE! under the Apache 2.0 License). It's stable and in
use by such distinguished frameworks as Netty, RxJava and others. JCTools is also used by commercial products to great result.
{'fraction_non_alphanumeric': 0.08810685846390959, 'fraction_numerical': 0.0020549704597996403, 'mean_word_length': 5.151658767772512, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5148681', 'n_tokens_mistral': 1137, 'n_tokens_neox': 1060, 'n_words': 410}