1. Concurrency Blocking Queue

1.1 JDK API
1.2 Java 5’s BlockingQueue
1.3 More fun with Java Concurrency: BlockingQueue
1.4 Which Java blocking queue is most efficient for single-producer single-consumer scenarios
1.5 BlockingQueue
1.6 How can I leverage the java.util.concurrent BlockingQueue?
1.7 Implement Blocking Queue
1.8 Introduction to nonblocking algorithms

2. wait, notify and notifyall

2.1 Using wait(), notify() and notifyAll()
2.2 notify and notifyall
2.3 The wait/notify protocol
2.4 Thread notify
2.5 Thinking in Java: Wait and notify
2.6 The producer-consumer pattern in Java 5: using blocking queues in preference to wait()/notify()
2.7 Thread Synchronization

3. Synchronizers

3.1 GETTING TO KNOW SYNCHRONIZERS
3.2 Java 5 Concurrency: Selecting Synchronizers

4. Semaphore

4.1 JDK API
4.2 Java Semaphore
4.3 Semahores

5. CyclicBarrier

5.1 JDK API
5.2 cyclicBarrier: concordinating the stages of a multithreaded operation

6. Countdown Latch

6.1 JDK API
6.2 Countdownlatch
6.3 Coordinating threads with CountDownLatch
6.4 Countdownlatch vs Semaphore

7. Exchanger

7.1 JDK API
7.2 An example of Exchanger

Advertisements