【发布时间】:2013-05-20 10:00:18
【问题描述】:
我正在尝试在 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
}
谢谢!
【问题讨论】:
-
AtomicBoolean.compareAndSet 不是你需要的吗?
-
@user1121883,是的!这是正确的!这是我应该使用的!谢谢!
标签: java multithreading java.util.concurrent atomicboolean