Which statement is true?

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?

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?

A.
Compilation fails.

B.
An exception is thrown at runtime.

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

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

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

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

Explanation:



Leave a Reply 1

Your email address will not be published. Required fields are marked *