ios – 大中央调度,QOS用户互动vs获取主队列

ios – 大中央调度,QOS用户互动vs获取主队列,第1张

概述我正在做一个关于盛大中央派遣的教程.本质上,教师在一个闭包内部有一些代码,这些代码是长时间运行的任务,因此他将所有内容都放在后台队列中(代码太长而无法编写,也没有提供源代码).总之,他有这种格式 dispatch_async(QOS_CLASS_BACKGROUND, { //time consuming tasks which should not be on main queue} 我正在做一个关于盛大中央派遣的教程.本质上,教师在一个闭包内部有一些代码,这些代码是长时间运行的任务,因此他将所有内容都放在后台队列中(代码太长而无法编写,也没有提供源代码).总之,他有这种格式

dispatch_async(QOS_CLASS_BACKGROUND,{    //time consuming tasks which should not be on main queue})

但是在封闭内部,一切都在后台队列中,有一些代码更新了用户界面.我被教导(主要是由udacity),所有UI更新应该在主队列上.于是

dispatch_async(dispatch_get_main_queue(),...

虽然教练,而是使用

dispatch_get_global_queue(QOS_CLASS_USER_INteraCTIVE,0),{...}

我知道这是合适的,因为QOS_CLASS_USER_INteraCTIVE用于与用户界面链接的即时任务.但是使用vs get_main_queue有什么好处?

解决方法 dispatch_get_global_queue(QOS_CLASS_USER_INteraCTIVE,0)返回全局并发
队列,适用于需要“快速”完成的任务才能更新
用户界面.此队列上的任务优先级高于例如在…上的任务
 QOS_CLASS_BACKGROUND队列.但这不是主要的队列.

UI更新本身必须在您获得的主队列上完成dispatch_get_main_queue().

总结

以上是内存溢出为你收集整理的ios – 大中央调度,QOS用户互动vs获取主队列全部内容,希望文章能够帮你解决ios – 大中央调度,QOS用户互动vs获取主队列所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1049982.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存