我正在使用客户端 - 服务器应用程序。我正在发送请求,在得到响应后转到backgound线程解析数据,在解析完所有数据后,我将转到主线程。在realm事务中写入的所有数据都存在于后台线程中,但在主线程中它是空的。这是我的代码的一部分: 一开始我有20个对象
add ip, r1, #TI_CPU_SAVE
ldr r3, [r2, #TI_TP_VALUE]
stmia ip!, {r4 - sl, fp, sp, lr} @ Store most regs on stack
ldr r6, [r2, #TI_CPU_DOMAIN]
strex r5, r4, [ip] @ Clear exclusive monitor
mcr p15, 0, r3, c13, c0, 3 @ set TLS register
mov r4, #0xffff0fff
str r3, [r4, #-15] @ TLS val at 0xffff0ff0
mcr p15, 0, r6, c3, c0, 0 @ Set domain register
mov r5, r0
add r4, r2, #TI_CPU_SAVE
ldr r0, =thread_notify_head
mov r1, #THREAD_NOTIFY_SWITCH
bl atomic_notifier_call_chain
mov r0, r5
ldmia r4, {r4 - sl, fp, sp, pc} @ Load all regs saved previously
后台线程中提交的数据在主线程中没有出现的问题,我该如何管理呢?
答案 0 :(得分:1)
请参阅Realm的Seeing Changes from Other Threads文档。
如果Realm.refresh()
为autorefresh
,您需要致电true
或等待下一次runloop迭代,以查看主线程中的更改。