这道题我搞不懂,
题目
这道题我搞不懂,
20.public class SychTest{
private int x;
private int y;
public void setX(int i){ x=i;}
public void setY(int i){y=i;}
public Synchronized void setXY(int i){
setX(i);
setY(i);
}
public Synchronized boolean check(){
return =y;
}
}
Under which conditions will check() return true when called from a different class?
A.check() can never return true.
B.check() can return true when setXY is callled by multiple threads.
C.check() can return true when multiple threads call setX and setY separately.
D.check() can only return true if SychTest is changed allow x and y to be set separately.
答案
答案是C.
好吧,补充一下.
这个setXY方法用了synchronized(线程同步),所以会防止多个线程同时访问这个方法.但是setX()和setY()方法没有synchronized保护,而且setX()和setY()是public公开的,因此C提到的情况会出现.
A.check() can never return true.(错,因为可以不通过setXY()来更改x和y的值)
B.check() can return true when setXY is callled by multiple threads.(错,setXY()是被保护的)
C.check() can return true when multiple threads call setX and setY separately.(正确答案.)
D.check() can only return true if SychTest is changed allow x and y to be set separately.(错.这个其实原则上是对的.但是这个答案用了only一词(只有在这情况下),所以它错了.因为C也是可以造成x!=y.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- A、B两车同时从甲、乙两站相对开出,两车第一次在距甲站32千米处相遇,相遇后两车继续行驶,各
- 赏析用了哪些修辞手法
- 这句发员工的通知这样写可以吗:Please note that our company New year dinner at.
- 黑色物体会反光吗?
- 1+sinX 等于什么
- Must I go to school中must是一定还是必须的意思?why?一定和必须的意思的区别
- 历史博物馆用英文怎拼!
- 下列各数是勾股数的是 7,24,25,4,5,6 √3,√2,1 2,1.5,2.5
- a number 同义词是什么
- I have a new dictiondry(改为一般疑问句)
热门考点