【发布时间】:2016-04-26 09:44:37
【问题描述】:
根据 beginWriteTransaction 方法中的文档
一次只能打开一个写事务。写交易 不能嵌套,并试图在一个 已经在写事务中的 RLMRealm 将抛出一个 例外。从 RLMRealm 实例调用 beginWriteTransaction 其他线程将阻塞直到当前的写事务 完成。
但是当我查看代码时,我发现了下一个:
void Realm::begin_transaction()
{
check_read_write(this);
verify_thread();
if (is_in_transaction()) {
throw InvalidTransactionException("The Realm is already in a write transaction");
}
// make sure we have a read transaction
read_group();
transaction::begin(*m_shared_group, m_binding_context.get());
}
你能解释一下什么时候满足条件吗?
从其他 RLMRealm 实例调用 beginWriteTransaction 线程将阻塞,直到当前的写事务完成。
【问题讨论】:
标签: multithreading realm