我正在尝试使用以下代码在 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
}
谢谢你!