Java Learner logo

Module 14: Concurrency and Multithreading

Lesson focus

Mini-Project: Concurrent Download Manager

Implement a downloader that fetches files concurrently, supports pauses, and reports progress.

Use ExecutorService with a bounded thread pool to control concurrency.

Track progress per download using thread-safe data structures and scheduled tasks.

Handle cancellations, retries, and back-pressure when bandwidth limits are reached.

Lesson quiz

What structure should manage worker threads?

Next lesson →