@@ -19,3 +19,113 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
SOFTWARE.
22
+
23
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/
24
+
25
+ # Atomics examples:
26
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/activeobject/ActiveObject.java
27
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicExample.java
28
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/MyClass.java
29
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicIntegerFieldUpdaterExample.java
30
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/MyClass.java
31
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicLongFieldUpdaterExample.java
32
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/SharedResource.java
33
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicMarkableReferenceExample.java
34
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicReferenceArrayExample.java
35
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/SharedResource.java
36
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicReferenceExample.java
37
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/MyClass.java
38
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicReferenceFieldUpdaterExample.java
39
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/SharedResource.java
40
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/atomics/AtomicStampedReferenceExample.java
41
+
42
+ # Balking pattern
43
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/balking/BalkingPatternExample.java
44
+
45
+ # Queue
46
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/collections/BlockingQueueSimpleExample.java
47
+
48
+ # Concurrent collections
49
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/collections/ConcurrentHashMapExample.java
50
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/collections/ConcurrentSkipListMapExample.java
51
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/collections/ConcurrentSkipListSetExample.java
52
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/collections/CopyOnWriteArrayListExample.java
53
+
54
+ # Double check locking singleton
55
+
56
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/doublechecklocking/DoubleCheckedLockingSingleton.java
57
+
58
+ # Executors example
59
+
60
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/AbstractExecutorServiceExample.java
61
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/CompletionServiceExample.java
62
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/ExecutorServiceExample.java
63
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/ExecutorsExample.java
64
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/ScheduledThreadPoolExecutorExample.java
65
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/Task.java
66
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/ThreadPoolExample.java
67
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/executors/ThreadPoolExecutorExample.java
68
+
69
+ # Fork join pool example
70
+
71
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/forkjoinpool/MergeSortTask.java
72
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/forkjoinpool/ForkJoinMergeSort.java
73
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/forkjoinpool/ForkJoinPoolExample.java
74
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/forkjoinpool/MyRecursiveTask.java
75
+
76
+ # Executors
77
+
78
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/future/FutureExample.java
79
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/future/Task.java
80
+
81
+ # Guarded suspension pattern
82
+
83
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/guardedsuspension/GuardedSuspensionExample.java
84
+
85
+ # Immutable pattern
86
+
87
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/immutable/Immutable.java
88
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/CustomSynchronizer.java
89
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/AbstractOwnableSynchronizerExample.java
90
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/CustomSynchronizer.java
91
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/AbstractQueuedLongSynchronizerExample.java
92
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/CustomSynchronizer.java
93
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/AbstractQueuedSynchronizerExample.java
94
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/Task.java
95
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/LockSupportExample.java
96
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/ReadWriteLockExample.java
97
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/ReentrantReadWriteLockCounter.java
98
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/locks/ReentrantReadWriteLockCounterExample.java
99
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/monitorobject/MonitorObject.java
100
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/multithreadedcontext/MultithreadedContext.java
101
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/mutex/MutexExample.java
102
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/oddevenprinter/OddEvenPrinter.java
103
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/oddevenprinter/OddEvenPrinterExample.java
104
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/philosopher/PhilosopherWithLock.java
105
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/philosopher/PhilosopherWithSemaphore.java
106
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/ArrayBlockingQueueExample.java
107
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/ConcurrentLinkedDequeExample.java
108
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/ConcurrentLinkedQueueExample.java
109
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/Consumer.java
110
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/CustomBlockingQueue.java
111
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/Producer.java
112
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/queue/ProducerConsumerBlockingQueueExample.java
113
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/reactor/Reactor.java
114
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/reentrantlock/ReentrantLockCounter.java
115
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/reentrantlock/ReentrantLockExample.java
116
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/scheduler/Scheduler.java
117
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/semaphore/SemaphoreExample.java
118
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/singleton/Singleton.java
119
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/Barrier.java
120
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/BarrierExample.java
121
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/CountDownLatchExample.java
122
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/CustomTask.java
123
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/Consumer.java
124
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/Producer.java
125
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/ExchangerExample.java
126
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/PhaserExample.java
127
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/synchronizers/SemaphorePrintQueueExample.java
128
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/threadlocal/ThreadLocalExample.java
129
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/threadsafelazyinitialization/Holder.java
130
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/threadsafelazyinitialization/LazyInitialization.java
131
+ https://github.com/alxkm/java-concurrency/blob/main/src/main/java/ua/com/alxkm/patterns/twophasetermination/TwoPhaseTermination.java
0 commit comments