Name | Modified | Size | Downloads / 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.