【问题标题】:mach_msg_trap in core-data核心数据中的 mach_msg_trap
【发布时间】:2009-06-13 07:08:16
【问题描述】:

mach_msg_trap 错误是什么意思? 我正在开发一个带有核心数据的应用程序。如果第二次“使用”不同的线程,则在 ManagedObjectContext 时出现此错误。 我有一个生产者消费者类型的线程系统。生产者线程和消费者线程使用相同的底层 sqlite db,但不同的 managedobjectContext 因为它们在不同的线程上。 但我希望生产者thead 检查新数据,如果有的话,我希望它更新我的 managedObjectContext。但它第二次运行应用程序崩溃给出上述结果。

请帮忙...

【问题讨论】:

    标签: iphone cocoa cocoa-touch core-data


    【解决方案1】:

    mach_msg_trap 是一个函数,而不是一个错误。具体来说,它是运行循环调用以等待某物到达的函数。该函数是您的应用程序如何在不使用 CPU 时间的情况下等待某事发生(I/O 完成、计时器触发、某事发布通知等)的方式。

    但我希望生产者 thead 检查新数据,如果有的话,我希望它更新我的 managedObjectContext。

    我不是核心数据专家,所以我不知道具体的解决方案,但我知道您从不向另一个线程的 MOC 发送消息。拥有独立的 MOC 是对的,而且你拥有它们是有原因的。

    我建议您编辑您的问题,以澄清您在询问如何向一个托管对象上下文发出信号,表明另一个托管对象上下文已更改它们共享的数据存储。你的问题真的和mach_msg_trap无关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-11
      • 2018-01-08
      • 2011-10-16
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多