核心数据中的 mach_msg_trap
Posted
技术标签:
【中文标题】核心数据中的 mach_msg_trap【英文标题】:mach_msg_trap in core-data 【发布时间】:2009-06-13 07:08:16 【问题描述】:mach_msg_trap 错误是什么意思? 我正在开发一个带有核心数据的应用程序。如果第二次“使用”不同的线程,则在 ManagedObjectContext 时出现此错误。 我有一个生产者消费者类型的线程系统。生产者线程和消费者线程使用相同的底层 sqlite db,但不同的 managedobjectContext 因为它们在不同的线程上。 但我希望生产者thead 检查新数据,如果有的话,我希望它更新我的 managedObjectContext。但它第二次运行应用程序崩溃给出上述结果。
请帮忙...
【问题讨论】:
【参考方案1】:mach_msg_trap
是一个函数,而不是一个错误。具体来说,它是运行循环调用以等待某物到达的函数。该函数是您的应用程序如何在不使用 CPU 时间的情况下等待某事发生(I/O 完成、计时器触发、某事发布通知等)的方式。
但我希望生产者 thead 检查新数据,如果有的话,我希望它更新我的 managedObjectContext。
我不是核心数据专家,所以我不知道具体的解决方案,但我知道您从不向另一个线程的 MOC 发送消息。拥有独立的 MOC 是对的,而且你拥有它们是有原因的。
我建议您编辑您的问题,以澄清您在询问如何向一个托管对象上下文发出信号,表明另一个托管对象上下文已更改它们共享的数据存储。你的问题真的和mach_msg_trap
无关。
【讨论】:
以上是关于核心数据中的 mach_msg_trap的主要内容,如果未能解决你的问题,请参考以下文章