Given: 1. public class TestSeven extends Thread { 2. private static int x; 3. public synchronized void doThings() { 4. int current = x; 5. current++; 6. x = current; 7. } 8. public void run() { 9. doThings(); 10. } 11.} Which statement is true?

  1. Compilation fails.

  2. An exception is thrown at runtime

  3. Synchronizing the run() method would make the class thread-safe.

  4. The data in variable "x" are protected from concurrent access problems.

  5. Declaring the doThings() method as static would make the class thread-safe.

  6. Wrapping the statements within doThings() in a synchronized(new Object()) { } block would make the classthread-safe.


Correct Option: F

Find more quizzes: