如何在java中比较AtomicBoolean与布尔值



我正在尝试在java的多线程应用程序中部署TTAS,使用以下代码:

AtomicBoolean state= new AtomicBoolean(false);
void lock(){
    while(true)
    {
      while(state.get())
      {
        if(!state.getAndSet(true))
        return;
      }
    }
}

但是我如何比较状态的值来检查它是真还是假,当我试图旋转它的值,而我每次得到一个错误说,我试图比较两个不同的变量的类型?经验:

Lock lock = new Lock();
if(lock.state==true) // error ! 
{
   //do something
}

谢谢!

但是我如何比较状态值来检查它是真还是假

你只需要调用get():

if (lock.state.get())

我很困惑为什么你之前没有看到这个,因为你已经在你的while循环中使用它了:

while(state.get())

相关内容

  • 没有找到相关文章