Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:后台DispatchQueue线程太慢_Ios - Fatal编程技术网

Ios Swift:后台DispatchQueue线程太慢

Ios Swift:后台DispatchQueue线程太慢,ios,Ios,我有一个DispatchQueue.global().async线程正在运行,它正在做大量耗时的CoreData工作 我知道这样做不好 然而,当我把所有这些繁重的计算工作移回到那里时,这个应用程序的速度是原来的两倍 我假设这是因为异步任务没有获得分配给它的所有资源。有没有办法让它和主线一样快 谢谢。您可以尝试在DispatchQueue.global()上使用“qos”可选参数。但是,如果某个任务完成后仍在持续运行,而不是退出,那么最好是生成一个NSThread,而不是使用全局调度队列。您可以将

我有一个
DispatchQueue.global().async
线程正在运行,它正在做大量耗时的CoreData工作

我知道这样做不好

然而,当我把所有这些繁重的计算工作移回到那里时,这个应用程序的速度是原来的两倍

我假设这是因为异步任务没有获得分配给它的所有资源。有没有办法让它和主线一样快


谢谢。

您可以尝试在DispatchQueue.global()上使用“qos”可选参数。但是,如果某个任务完成后仍在持续运行,而不是退出,那么最好是生成一个NSThread,而不是使用全局调度队列。

您可以将发送的任务发布到队列中吗?在大量的CoreData存储的引号库中搜索需要大量的代码,具体来说,你能解释一下我如何使用qos使它运行得更快吗?根据阅读文档的情况,似乎将qos设置为
。您指的是userInitiated
?qos越高,操作系统将在其上花费越多的资源。这将使它更快,虽然它也会使它消耗电池更快。