w3resource

Java Multithreading: Exercises, Practices, Solutions

Java Multithreading Exercises [ 15 exercises with solution ]

[An editor is available at the bottom of the page to write and execute the scripts. Go to the editor]

1. Write a Java program to create and start multiple threads that increment a shared counter variable concurrently.

Click me to see the solution

2. Write a Java program to create a producer-consumer scenario using the wait() and notify() methods for thread synchronization.

Click me to see the solution

3. Write a Java program that uses the ReentrantLock class to synchronize access to a shared resource among multiple threads.

Click me to see the solution

4. Write a Java program to demonstrate Semaphore usage for thread synchronization.

Click me to see the solution

5. Write a Java program to showcase the usage of the CyclicBarrier class for thread synchronization.

Click me to see the solution

6. Write a Java program that uses the CountDownLatch class to synchronize the start and finish of multiple threads.

Click me to see the solution

7. Write a Java program to illustrate the usage of the ReadWriteLock interface for concurrent read-write access to a shared resource.

Click me to see the solution

8. Write a Java program demonstrating how to access a map concurrently using the ConcurrentHashMap class.

Click me to see the solution

9. Write a Java program that utilizes the ConcurrentLinkedQueue class to implement a thread-safe queue.

Click me to see the solution

10. Write a Java program to showcase the usage of the Phaser class for coordination and synchronization of multiple threads.

Click me to see the solution

11. Write a Java program that utilizes the Exchanger class for exchanging data between two threads.

Click me to see the solution

12. Write a Java program to demonstrate the usage of the Callable and Future interfaces for executing tasks asynchronously and obtaining their results.

Click me to see the solution

13. Write a Java program that uses the ScheduledExecutorService interface to schedule tasks for execution at a specified time or with a fixed delay.

Click me to see the solution

14. Write a Java program to demonstrate the usage of the ForkJoinPool class for parallel execution of recursive tasks.

Click me to see the solution

15. Write a Java program that utilizes the StampedLock class for optimizing concurrent read-write access to a shared resource.

Click me to see the solution

Java Code Editor

More to Come !

Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.



Follow us on Facebook and Twitter for latest update.