请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

锁与保护资源的关系

你好,有一段代码块用this作为锁,代码块中调用了其他的对象的字段进行++操作,发现保护不了这个操作,是为什么呢?


正在回答 回答被采纳积分+3

2回答

提问者 宝慕林5151746 2020-02-18 20:53:40

class Account {

  private int amt;

  synchronized void transfer(

      Account target, int amt){

    if (this.amt > amt) {

      this.amt -= amt;

      target.amt += amt;

    }

  } 

}

   target.amt += amt;  这一步的操作不在保护范围内


0 回复 有任何疑惑可以回复我~
  • 悟空 #1
    在保护范围内的
    回复 有任何疑惑可以回复我~ 2020-02-18 21:38:24
悟空 2020-02-18 20:48:23

麻烦贴一下代码

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信