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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货