领域 - 异步交易插入订单

时间:2017-06-09 07:29:06

标签: java android multithreading realm

我使用for循环来保存Realm。广告订单非常重要。主线程一切正常,但我想在后台线程中保存这些数据。因此,使用多个线程会丢失插入顺序。

for (int index = 1; index < upperNumber; index++) {
          saveDB(index);
}

private void saveDB(final int index) {
            try {
              realm.executeTransactionAsync(new Realm.Transaction() {
                @Override public void execute(Realm bgRealm) {
                  User user = bgRealm.createObject(User.class, index);
                  user.setName(String.valueOf(index) + " Name");
                  user.setAge(index);
                }
              }, new Realm.Transaction.OnSuccess() {
                @Override public void onSuccess() {
                  Log.d(TAG, "Transaction Success: " + index);
                }
              });
            } catch (Exception e) {
              Log.e(TAG, "Error during Transaction: " + e.getMessage());
            }
}

有一个关于自动增量ID和插入顺序的Realm文档,但这也不适用于Async Transaction; https://realm.io/docs/java/latest/#auto-incrementing-ids

我如何保证使用异步交易的广告订单?

感谢。

0 个答案:

没有答案