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.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/java-exercises/multithreading/index.php