내 코드 :블록 현재의 thread가
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);가 누락 된 것 같아요. –
@Peter 감사합니다. 나는 페칭 된 것을 사용할 필요성을 제거했다. – Gray
필드를 업데이트/동기화 된 블록으로 이동했습니다. 이 경우 단순하지만 더 복잡한 경우에는 필요할 것입니다. –