Download Latest Version concurrencyfreaks-0.5.jar (331.7 kB)
Email in envelope

Get an email when there's a new version of Concurrency Freaks

Home
Name Modified Size InfoDownloads / Week
papers 2013-11-19
java 2013-02-24
concurrencyfreaks-0.5.jar 2013-10-02 331.7 kB
README.txt 2013-09-29 1.8 kB
concurrencyfreaks-0.4.jar 2013-07-23 253.5 kB
concurrencyfreaks-0.3.jar 2013-03-24 135.4 kB
concurrencyfreaks-0.2.jar 2013-03-01 92.6 kB
Totals: 7 Items   815.0 kB 0
Concurrency Freaks Library

This is a Java library of concurrent data structures.
For the moment, it is mostly reader-writer locks, a few counters, and a few blocking data structures, but
much more stuff is being prepared. 

Check out our blog for more info and tips on concurrency programming and patterns:
http://www.concurrencyfreaks.com


What's new in release 0.5:
- More validation tests
- Added BlockingArrayList: An ArrayList protected with a LongAdderRWLock.
- Added "transient" keyword to member fields of lock classes so that they work with serialization.
- Added OffByXCounter: A counter that can be incremented from a single thread and uses relaxed atomics to improve performance
- Added DistributedCacheLineCounter: A counter that can be incremented and read from multiple threads and that uses a set of counters distributed over several cache lines, which makes it very fast for incrementing but slow for reading.
- Added DCLCRWLock: A Reader-Writer lock based on a Distributed Cache Line Counter that uses an array of fixed size and a hash function to distribute the reader's states among different cache lines to avoid contention (and false-sharing).
- Added DCLCStampedRWLock: A lock similar to DCLCRWLock that "defaults" to a StampedLock in case of many Writers.
- Added LongAdderRWLock: A Reader-Writer lock that uses the same 2-state algorithm described in the NUMA paper but with LongAdder as counters for Readers.
- Added LongAdderStampedRWLock: A lock similar similar to LongAdderRWLock that defaults to a StampedLock in case of many Writers.
- Added LongAdderExtRWLock: A Lock that uses a single LongAdder instead of two LongAdder instances like in the case of the LongAdderRWLock, but it requires a small modification to the LongAdder provided in JDK 8.
Source: README.txt, updated 2013-09-29