2017-04-17 20 views
1

由于Realm数据正在从多个异步网络回调中更新,因此我正在处理事务中的Realm写入时发生崩溃。我明白为什么领域崩溃,但我想知道什么是正确的架构在这里。许多异步Realm写入的最佳体系结构

到目前为止,我可以通过将各个写入事务移动到后台线程来最小化崩溃,但这是推荐的最佳做法吗?它依赖于我记得每次都这样做。还是应该通过一些中央交换所运行网络请求,然后将回调(因此写入)移动到后台线程?或者是后台线程甚至没有正确的方法来做到这一点?

回答

0

背景写入与领域(甚至鼓励!)是一致的,但有一点你应该注意的是,如果背景队列被标记为concurrent,那么同一个线程可能会被重复使用同一个队列,这意味着GCD可能会安排其中一个块运行,而另一个块处于写入事务的中间。

解决此问题的最佳方法是确保您的GCD队列在写入过程中被标记为串行而非并发。

相关问题