大家帮我看看这题,帮我解释下!

jx0797 2007-11-05 11:43:40

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 x!=y;

  }

  }



  在下列哪种情况下,check()方法在被另一个不同的类调用时会返回true?

  A) check() 永远也不会返回true。

  B) 当通过多线程调用setXY () 时check() 能够返回true。

  C) 当通过多线程单独调用setX() 和setY()时check() 能够返回true。

  D) 只有当SychTest 被改为允许x和y单独设值时check() 才能够返回true。
...全文
98 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanqing000 2008-03-31
  • 打赏
  • 举报
回复
死菜鸟,没常识,楼主心理变态的....大家要小心
forestking_xx 2007-11-08
  • 打赏
  • 举报
回复
看不懂D答案。。。。只有当SychTest 被改为允许x和y单独设值时check() 才能够返回true。这是什么意思?难道现在SychTest不允许x和y单独设值?
gxlqssjf 2007-11-08
  • 打赏
  • 举报
回复
A) check() 永远也不会返回true。
调用 public Synchronized void setXY(int i)
x与y是不是也是等的
leblang 2007-11-08
  • 打赏
  • 举报
回复
对!
答案就是C
pigcoffee 2007-11-08
  • 打赏
  • 举报
回复
C
我也在SCJP上做过同样的题
顶!!!!!!!
zhoujy1325 2007-11-08
  • 打赏
  • 举报
回复
顶啊!!!!!!!!!!!!!!
xiyuan1999 2007-11-08
  • 打赏
  • 举报
回复
C
SCJP题
wangguanshui 2007-11-08
  • 打赏
  • 举报
回复
基本同意答案,顶!!!!!!!!!!!
tanlingyun 2007-11-05
  • 打赏
  • 举报
回复
我也顶一个
karlpan01 2007-11-05
  • 打赏
  • 举报
回复
顶1楼
neptune0229 2007-11-05
  • 打赏
  • 举报
回复
这个答案是C) 当通过多线程单独调用setX() 和setY()时check() 能够返回true。
setXY()的时候把X和Y值都set成了相同的,执行check()时会返回false
单独setX()和setY()时才可以把X和Y set成不同的值

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧