Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 领域-从不同线程写入-RxJava_Android_Multithreading_Realm - Fatal编程技术网

Android 领域-从不同线程写入-RxJava

Android 领域-从不同线程写入-RxJava,android,multithreading,realm,Android,Multithreading,Realm,我想使用领域,我需要从不同的线程写入数据。我读了一篇关于王国的帖子。Realm与Git类似。您能解释一下在领域中如何合并有冲突的数据吗?谢谢 您能解释一下在领域中如何合并有冲突的数据吗 如果我们谈论的是领域本地数据库(领域移动数据库),而不是领域移动平台: 事务在线程和进程之间阻塞,因此一次只能有一个写事务。因此,当它被提交时,它将成为新的版本。合并场景是不可能的。当一个写事务打开时,在该事务中,您可以随时看到数据库的最新状态,并且不可能看到较旧的版本 如果我们谈论的是Realm移动平台:

我想使用领域,我需要从不同的线程写入数据。我读了一篇关于王国的帖子。Realm与Git类似。您能解释一下在领域中如何合并有冲突的数据吗?谢谢

您能解释一下在领域中如何合并有冲突的数据吗

如果我们谈论的是领域本地数据库(领域移动数据库),而不是领域移动平台:

  • 事务在线程和进程之间阻塞,因此一次只能有一个写事务。因此,当它被提交时,它将成为新的版本。合并场景是不可能的。当一个写事务打开时,在该事务中,您可以随时看到数据库的最新状态,并且不可能看到较旧的版本
如果我们谈论的是Realm移动平台:

  • 当在同一数据上发生多个脱机事务时,这些事务只会在稍后进行同步,将根据操作转换的规则进行:

    • 删除总是赢:如果一方删除对象,它将始终保持删除状态,即使另一方稍后对其进行了更改

    • 最后更新获胜。如果双方更新同一属性,则该值将作为最后更新的值

    • 列表中的插入按时间排序。如果在同一位置插入两个项目,则首先插入的项目将在另一个项目之前结束