Home | History | Annotate | only in /external/mockito/src/main/java/org/mockito/internal/util/concurrent
Up to higher level directory
NameDateSize
DetachedThreadLocal.java21-Aug-20183.8K
LICENSE21-Aug-201811.1K
README.md21-Aug-20181.4K
WeakConcurrentMap.java21-Aug-201811.1K
WeakConcurrentSet.java21-Aug-20183.7K

README.md

      1 This is a miniature implementation of a concurrent, lock-free (as in lock-less) hash map with weak keys where keys respect reference equality. Such a hash map removes entries containing collected keys by either:
      2 
      3 1. Inline removal (entries that contain to collected keys are removed as a result of interaction with the map).
      4 2. Implicit concurrent removal (entries that contain collected keys are removed by an external thread).
      5 3. Explicit concurrent removal (explicit interaction with the map's reference queue).
      6 
      7 As a wrapper around this `WeakConcurrentMap`, this package also contains a `DetachedThreadLocal` which describes a weak concurrent map where the current thread serves as a key of the map. Also, this package delivers a `WeakConcurrentSet` as a wrapper around a weak concurrent map.
      8 
      9 This map does not implement the `java.util.Map` interface to simplify the implementation. Writes to the map might cause blocking if many threads write to the map concurrently (this is implied by the maps backing by a `ConcurrentHashMap` and a `ReferenceQueue`), the performance of the map is however significantly better than using a synchronized wrapper around a concurrent hash map.
     10 
     11 The library is hosted on *Maven Central* and *JCenter*:
     12 
     13 ```xml
     14 <dependency>
     15   <groupId>com.blogspot.mydailyjava</groupId>
     16   <artifactId>weak-lock-free</artifactId>
     17   <version>0.11</version>
     18 </dependency>
     19 ```
     20