读书人

答案是E为什么?解决办法

发布时间: 2012-01-02 22:40:04 作者: rapoo

答案是E,为什么?
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;



[解决办法]
选E是因为可以防止多个方法操作变量x,故把方法应声明为static静态。
[解决办法]
这个题好像问过了。记得书上讲得很清楚。

读书人网 >J2SE开发

热点推荐