public class TestSeven extends Thread{
private static int x;
public synchronized void doThing(){
int current=x;
current++;
x=current;
}
public void run(){
doThings();
}
}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;