全局并发队列是与iOS中所有当前正在运行的进程共享的,还是每个进程都拥有自己的全局并发队列集?

时间:2017-05-23 11:12:18

标签: ios concurrency

全局并发队列是与iOS中所有当前正在运行的进程共享的,还是每个进程都拥有自己的全局并发队列集?

2 个答案:

答案 0 :(得分:2)

来自Apple Docs的

  

系统为每个应用程序提供四个并发调度   队列。 这些队列是应用程序的全局队列   仅根据其优先级进行区分。 因为它们是全球性的,   你没有明确地创建它们。相反,你要求其中一个   队列使用dispatch_get_global_queue函数 ,如图所示   以下示例:

dispatch_queue_t aQueue =
*emphasized text*dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

查看更多here

答案 1 :(得分:1)

每个iPhone或iPad应用都在沙盒中运行。这意味着它与其他应用程序以及系统完全分开。它的内存和存储空间都是沙箱以及它运行的队列。每个全局/主要队列都是为通过大中央调度使用它的应用程序创建的。

此外,当应用程序打开并正在使用时,它将使用主队列及其主队列。在后台打开的任何其他应用程序将不会使用此相同的队列,也将在其自己的后台队列上运行。