我通常使用这样的代码:
dispatch_queue_t queue = dispatch_queue_create("queue_name", NULL);
dispatch_async(queue, ^{
//Code
});
我知道从这里访问我的Core Data存储然后同时从另一个线程访问会导致崩溃。我是否能够继续使用上面的代码,使用相同的队列名称来访问整个应用程序中的Core Data?应用程序是否会将其识别为相同的队列,还是会忘记队列名称?
答案 0 :(得分:2)
您传递给dispatch_queue_create()
的名称对系统没有任何意义,即如果您传递相同的名称,则无法获得相同的队列。它们只是用于调试的标签。
如果要在不同区域使用相同的队列,则需要将其存储在可在这些范围内访问的变量中。