我插入來自ContentObserver記錄在Android服務一樣:查詢域是否與Oracle一樣查詢讀一致性?
try {
realm.beginTransaction();
realm.copyToRealm(sms);
realm.commitTransaction();
} catch (RealmException re) {
realm.cancelTransaction();
}
然後在另一個服務我運行下面的查詢JobService:
Realm realm = Realm.getDefaultInstance();
RealmQuery<Sms> query = realm.where(Sms.class);
RealmResults<Sms> sms = query.findAll();
ArrayList<Sms> smsArrayList = new ArrayList<>();
smsArrayList.addAll(sms);
for (Sms sms : smsArrayList) {
process row
delete row
}
是隻讀的,一致的點查詢時間,就像甲骨文?
如果查詢運行一段時間並從其他服務插入新數據會發生什麼?
我喜歡我的查詢是一致的。查詢開始後插入的新記錄不應被看到或被包含。這是這種情況,或者我應該如何編碼?
我需要確保正確處理作業隊列中的記錄,並且我想避免兩次讀取同一作業或因其他服務插入而混淆。 所以我想做一個for循環RealmResults < <短信>>,處理它,刪除行。
然後在某個時間點再次啓動查詢並處理新記錄。
你提交的事務如果在你的代碼只在看什麼? – Divers
這與我的問題無關,將其刪除。 – powder366
取決於您所在的線程。循環線程autoupdate,非循環線程不。 – EpicPandaForce