# Concurrency - Thread pools, Callables and Synchronizers
Chapters 10 and 11 includes 27 problems that involve Java concurrency. It starts with fundamental problems about threads lifecycle and object/class
level locking. It continues with a bunch of problems about thread pools in Java including JDK 8 work-stealing thread pool. Afterwards, we
have problems dedicated to **Callable**, **Future** and **CompletableFuture**. Next, we dedicate several problems to Java synchronizers (e.g., barrier,
semaphore, exchanger, etc). Finally, we have problems for fork/join framework, **ReentrantLock**, **ReentrantReadWriteLock**, **StampedLock**, atomic
variables, tasks cancellation, interruptible methods, and deadlocks.