加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – NSManagedObjectContext performBlockAndWait从

发布时间:2020-12-14 17:32:08 所属栏目:百科 来源:网络整理
导读:我有一个OSX应用程序,我正在使用父/子NSManagedObjectContext设置.子MOC有NSPrivateQueueConcurrencyType,是我主要使用的那个.父级设置为NSMainQueueConcurrencyType 当我从后台线程调用子上下文的performBlockAndWait,同时从主线程调用它时,我得到死锁 – s
我有一个OSX应用程序,我正在使用父/子NSManagedObjectContext设置.子MOC有NSPrivateQueueConcurrencyType,是我主要使用的那个.父级设置为NSMainQueueConcurrencyType

当我从后台线程调用子上下文的performBlockAndWait,同时从主线程调用它时,我得到死锁 – semaphore_wait_trap.暂停调试器显示两个线程都停留在performBlockAndWait

我怎么能绕过这个?我认为这个方法是针对这种情况而设计的,只是将上下文的私有队列中的块排队然后适当地返回?

解决方法

我通过创建一个串行队列来解决这个问题,然后通过这个来完成所有的performBlock调用,以确保它们不会互相混乱.老实说,我不确定这是不是很好的做法,但它确实解决了我的特殊情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读