java.util.concurrent.atomic


1. AtomicInteger for Simple Counter

import java.util.concurrent.atomic.AtomicInteger;

public class Counter {
    private AtomicInteger count = new AtomicInteger();

    public void increment() {
        count.incrementAndGet();
    }

    public int get() {
        return count.get();
    }
}

2. AtomicBoolean for Flag

import java.util.concurrent.atomic.AtomicBoolean;

public class Flag {
    private AtomicBoolean isOn = new AtomicBoolean(false);

    public void turnOn() {
        isOn.set(true);
    }

    public void turnOff() {
        isOn.set(false);
    }

    public boolean isOn() {
        return isOn.get();
    }
}

3. AtomicReference for Singleton

4. AtomicMarkableReference for Double-Checked Locking

5. AtomicLong for Concurrent Sum

6. AtomicIntegerArray for Shared Array

7. AtomicReferenceArray for Concurrent Object Array

8. AtomicIntegerFieldUpdater for Thread-Safe Field Access

9. AtomicLongFieldUpdater for Thread-Safe Long Field Access

10. AtomicReferenceFieldUpdater for Thread-Safe Reference Field Access

11. ConcurrentHashMap for Concurrent Map

12. ConcurrentSkipListSet for Concurrent Sorted Set

13. ConcurrentLinkedQueue for Concurrent Queue

14. ConcurrentLinkedDeque for Concurrent Double-Ended Queue

15. BlockingQueue for Blocking Queue

16. ArrayBlockingQueue for Array-Based Blocking Queue

17. LinkedBlockingQueue for Linked List-Based Blocking Queue

18. PriorityBlockingQueue for Priority Blocking Queue

19. DelayQueue for Delay Queue

20. TransferQueue for Transfer Queue

21. SynchronousQueue for Synchronous Queue

22. Exchanger for Exchanger

23. CountDownLatch for CountDown Latch

24. CyclicBarrier for Cyclic Barrier

25. Semaphore for Semaphore

26. ReentrantLock for Reentrant Lock

27. ReadWriteLock for Read-Write Lock

28. StampedLock for Stamped Lock

29. Phaser for Phaser

30. ForkJoinPool for Fork/Join Pool

31. CompletableFuture for CompletableFuture

32. Executor for Executor

33. ScheduledExecutorService for Scheduled Executor Service

34. ThreadFactory for Thread Factory

35. RejectedExecutionHandler for Rejected Execution Handler

36. ThreadPoolExecutor for Thread Pool Executor

37. ExecutorCompletionService for Executor Completion Service

38. SynchronousQueue for Synchronous Queue

39. ArrayBlockingQueue for Array Blocking Queue

40. LinkedBlockingQueue for Linked Blocking Queue

41. PriorityBlockingQueue for Priority Blocking Queue

42. DelayQueue for Delay Queue

43. TransferQueue for Transfer Queue

44. SynchronousQueue for Synchronous Queue

45. Exchanger for Exchanger

46. CountDownLatch for Countdown Latch

47. CyclicBarrier for Cyclic Barrier

48. Semaphore for Semaphore

49. ReentrantLock for Reentrant Lock

50. ReadWriteLock for Read-Write Lock