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越高,操作系统将在其上花费越多的资源。这将使它更快,虽然它也会使它消耗电池更快。