Java同步如何比较锁定对象?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (46)

我希望通过多个API请求锁定一个对象,这样每个用户只能输入一个请求

可以这样做:

synchronized("asdf") {
    doSomethingNifty();
}

这里的“asdf”有唯一的散列,但没有唯一的引用。

提问于
用户回答回答于

这样试试:

   Boolean value = false;
   ...
   // really bad idea
   synchronized (value) {
      if (value) {
         value = false;
      } else {
         value = true;
      }
   }
用户回答回答于

只需要有一个想要保护的代码块相对应的对象

static Object lockObject = new Object();

然后就可以

synchronized(lockObject) {
    doSomethingNifty();
}

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励