我的代码:块当前线程
private AtomicBoolean fetched1 = new AtomicBoolean(false);
private int rowCount;
public int getRowCount() {
data.getRealm().exec(new Runnable(){
@Override
public void run() {
rowCount = data.size();
fetched1.set(true);
}
});
while(!fetched1.get()){
}
fetched1.set(false);
return rowCount;
}
似乎对我的工作的权利,但我不熟悉线程(它总是让我困惑),应我以任何方式执行上述代码?
我想你错过了'fetched.set(true);' – 2012-03-31 14:25:21
是啊谢谢@Peter。我删除了使用提取的需要。 – Gray 2012-03-31 14:26:51
我会将更新/检查的字段移动到同步块中。在这种情况下,它很简单,但在更复杂的情况下,它将是必要的。 – 2012-03-31 14:28:15