- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
正如标题所说,问题是,如果一个 NSManagedObjectContext
并发类型 NSPrivateQueueConcurrencyType
是串行的还是并发的。
更具体地说,如果我调用
[managedObjectContext performBlock:^{
}];
对于长时间运行的任务,在第一个完成之前,是否会阻塞其他使用 performBlock 对该上下文的调用?
最佳答案
它是来自Apple docs的串行队列.
或者您可以简单地尝试运行此代码并查看结果。数字将连续打印。
let privateMOC = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
privateMOC.perform {
for i in 0...8000 {
if i.isMultiple(of: 3000) {
print("1")
}
}
}
privateMOC.perform {
for i in 0...8000 {
if i.isMultiple(of: 3000) {
print("2")
}
}
}
关于objective-c - NSPrivateQueueConcurrencyType 串行还是并发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44314791/
我在使用子上下文作为 NSPrivateQueueConcurrencyType 的便签本时遇到了问题。 我的核心数据栈是这样的: View Controller 使用主上下文。 Worker Con
在 AFNetworking 从我的应用服务器获取信息后,将调用以下方法来填充我的 Core-Data。 这些信息似乎工作得很好,因为当表格更新时,我可以看到 UITableView 中正在更新的新信
在 AFNetworking 从我的应用服务器获取信息后,将调用以下方法来填充我的 Core-Data。 这些信息似乎工作得很好,因为当表格更新时,我可以看到 UITableView 中正在更新的新信
这两天我一直在尝试让 Core Data 与多线程一起工作。我尝试使用 NSOperations 的标准线程限制方法、合并通知、使用 objectWithId、每个线程的上下文字典,但我仍然遇到奇怪的
我在 connectionDidFinishLoading:connection NSURLConnection 异步委托(delegate)方法中使用此代码,同时下载大量数据。 - (void)sa
我正在开发一个需要多次异步下载并将其内容保存到核心数据实体的应用程序。其中一个下载量很大,并且注意到在创建/写入托管对象上下文时 UI 被阻止。我的研究让我阅读了并发核心数据设置,并开始实现其中之一。
我正在使用 NSPrivateQueueConcurrencyType NSManagedObjectContext 并且在以下情况下会发生死锁。 在后台线程上,调用 performBlock: 。该
正如标题所说,问题是,如果一个 NSManagedObjectContext 并发类型 NSPrivateQueueConcurrencyType 是串行的还是并发的。 更具体地说,如果我调用 [ma
使用 NSMainQueueConcurrencyType 和 NSPrivateQueueConcurrencyType 初始化的托管对象上下文连接到主队列和私有(private)队列,它们是串行队
我想知道 NSPrivateQueueConcurrencyType 上下文是否仅在 -performBlock 和 -performBlockAndWait 中运行。和从 NSPrivateQueu
我仍在为我的 RSS 阅读器编写代码,我已经到了这样的地步,我希望通过后台立即用最新的帖子填充我的 Feed 来让事情变得更顺畅。 问题是它使我的应用严重崩溃,并显示如下消息: 2013-10-02
我正在使用 NSPrivateQueueConcurrencyType 并发类型而不是 NSMainQueueConcurrencyType 遇到卡住(死锁?)。 我的上下文初始化: _managed
自 iOS 5 起,CoreData 引入了自己的私有(private)队列,您可以在其中让某些操作(特别是保存上下文)在后台运行。 这必须通过[context PerformBlock:...]完成
问题:当相关的 NSManaged 对象具有自定义 setter 时,使用后台线程获取托管对象不会正确延迟加载 NSManaged 对象关系。在具有主并发类型的主线程上执行提取没有问题。这是为什么?
我有一些现有的 Core Data 代码,它们使用 10.6 及更早版本的模式,在每个新线程中创建一个新的 NSManagedObjectContext,根据需要执行数据修改,保存 NSManaged
在 macOS 应用程序上,我有一个简单的 AddEditViewController,它从主视图 Controller 接收 NSManagedObject。然后,我创建一个子 NSManagedO
我是一名优秀的程序员,十分优秀!