This repository contains a series of university programming tasks focused on applying key concepts of parallel programming, thread synchronization, and concurrent task execution. These tasks demonstrate the practical use of synchronization mechanisms and thread management in Java, providing a hands-on approach to real-world concurrency challenges.
The tasks in this repository highlight the importance of thread synchronization and resource management in concurrent programming. The simulations include a parking lot system with synchronized vehicle parking, an elevator system managing concurrent entries while adhering to weight limits, and a calculation process using a CyclicBarrier to synchronize threads. Each task showcases the application of Java’s concurrency tools like Semaphore, CyclicBarrier, and thread management via ExecutorService.
- Thread Synchronization
- Resource Management (e.g., Parking Lot, Elevator)
- Concurrent Task Execution
- Use of Semaphore and CyclicBarrier
- Atomic Operations with
AtomicInteger
This project serves as a practical demonstration of concurrency concepts in Java, highlighting how to manage resources and synchronize threads effectively. Each task provides valuable insight into handling multithreading challenges and ensures a deeper understanding of Java’s concurrency utilities. The repository serves as a reference for anyone looking to strengthen their understanding of parallel programming and thread synchronization in real-world applications.