This project contains implementations for the concurrency exercises from Learn Java With Projects by Dr. Sean Kennedy & Maaike Van Putten. These exercises are designed to strengthen our understanding of Java’s concurrency and multithreading features, helping us build efficient, high-performance applications.
- Thread Creation: Creating and managing threads using Java's
Thread
class andRunnable
interface. - Synchronization: Using synchronized blocks and methods to avoid race conditions.
- Thread Safety: Ensuring safe access to shared resources with thread-safe collections and atomic operations.
- Executor Services: Leveraging the
ExecutorService
to manage thread pools and handle concurrent tasks. - Future and Callable: Implementing
Future
andCallable
to handle asynchronous tasks with results.