Android Xamarin上的域是否支持并发(非嵌套)写事务?

Android Xamarin上的域是否支持并发(非嵌套)写事务?,android,multithreading,xamarin,xamarin.android,realm,Android,Multithreading,Xamarin,Xamarin.android,Realm,我偶尔会遇到Realms.RealmInvalidTransactionException这样的调用异常: var realm = Realm.GetInstance; using (var trans = realm.BeginWrite()) { var stopActualItem = realm.All<StopActualItemRealm>().Where(r => r.StopActualId == stopActualId).ToList().Firs

我偶尔会遇到Realms.RealmInvalidTransactionException这样的调用异常:

var realm = Realm.GetInstance;

using (var trans = realm.BeginWrite())
{
    var stopActualItem = realm.All<StopActualItemRealm>().Where(r => r.StopActualId == stopActualId).ToList().FirstOrDefault();

    if (stopActualItem == null)
    {
        stopActualItem = realm.CreateObject<StopActualItemRealm>();
    }

    // Code that updates the stopActualItem class would be here

    trans.Commit();
}
var realm=realm.GetInstance;
使用(var trans=realm.BeginWrite())
{
var stopActionItem=realm.All().Where(r=>r.stopActionId==stopActionId.ToList().FirstOrDefault();
if(stopActionItem==null)
{
stopImplementItem=realm.CreateObject();
}
//更新StopActionItem类的代码将在这里
trans.Commit();
}
同时,后台线程中的代码也可以在另一个BeginWrite()事务中写入领域数据库。当尝试进行并发写入时,似乎会引发异常。每个线程都在调用Realm.GetInstance()。是否允许并发领域写入事务,或者我需要将它们排队


我将Realm v0.76.1与Xamarin一起使用。Android

是的,支持并发写入请求,并且在我们的一个内部测试应用程序上,已经有几十个线程不间断地写入

XAMARIN产品使用的java C++核心引擎与其他Android用户进行了大量的Java测试。 更进一步说,有一个完整但简短的版本,我们有MVCC,在整个数据库上有(快速)阻塞。因此,在任何给定的时刻,只有一个线程处于写操作中,而其他写操作是同步和阻塞的。任何读操作都不会被写操作阻止

当然,我们可能有一个bug,非常希望能有一个演示应用程序,看看我们是否可以复制,以及关于发生这种情况的Android环境的更多细节。请提供更多细节

如果您需要保密,请发送电子邮件至help@realm.io.