Question 1
What is the key difference between the volatile keyword and the synchronized keyword in Java?
volatile can be used for blocking threads, while synchronized cannot
volatile ensures visibility of variables across threads, while synchronized ensures mutual exclusion
volatile guarantees atomicity, while synchronized does not
volatile prevents deadlocks, while synchronized does not
Question 2
What is the primary role of the synchronized keyword in Java?
To guarantee that the method is executed by a single thread
To pause threads for a set period
To ensure that multiple threads are executed simultaneously
To prevent thread starvation
Question 3
What is the purpose of the ReentrantLock in Java?
It provides an atomic way of accessing a shared resource
It supports interruptible lock acquisition
It uses volatile variables to prevent race conditions
It synchronizes method calls automatically
Question 4
In the following code, which concept is demonstrated in the context of synchronization?
class Geeks { private int counter = 0; public synchronized void increment() { counter++; } public synchronized int getCounter() { return counter; } }
Use of Atomic class
Local framework synchronization
Synchronization on a method level
Usage of volatile keyword
Question 5
Which of the following describes a deadlock situation in Java multithreading?
When threads are not given enough CPU time
When two threads are blocked forever, each waiting for the other
When one thread keeps waiting for user input
When threads stop responding to external signals
Question 6
What is a potential consequence of a deadlock in Java?
Threads wait indefinitely and do not proceed with execution
Threads run faster than usual
Threads can execute without interruption
Threads are killed automatically
Question 7
Which of the following can prevent a deadlock situation in multithreaded programming?
Allowing only one thread to execute at a time
Using lock ordering to acquire resources
Synchronizing all threads in the program
None of the above
Question 8
Which of the following is an example of a situation that can cause a deadlock in Java?
Thread 1 holds Lock A and is waiting for Lock B, while Thread 2 holds Lock B and is waiting for Lock A
Two threads are accessing the same resource at different times
One thread has completed execution, and the other is waiting for its result
Threads are executed in a random order
There are 8 questions to complete.