我的代碼:塊當前線程
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