DispatchQueue

用于管理应用程序主线程或后台线程上串行或并行执行的任务的类。

class DispatchQueue : DispatchObject

总览

调度队列是FIFO队列,您的应用程序可以以块对象的形式向其提交任务。调度队列可以串行或并行执行任务。提交给调度队列的工作在系统管理的线程池上执行。除了代表应用程序主线程的调度队列之外,系统无法保证它使用哪个线程来执行任务。

您可以同步或异步计划工作项。当您同步安排工作项时,您的代码将等到该项目完成执行。当您异步调度工作项时,您的代码将继续执行,而工作项将在其他地方运行。

重要,尝试在主队列上同步执行工作项会导致死锁。

避免过多的线程创建

在设计用于并发执行的任务时,请勿调用会阻塞当前执行线程的方法。当由并发调度队列调度的任务阻塞线程时,系统会创建其他线程来运行其他排队的并发任务。如果有太多任务阻塞,则系统可能会耗尽您的应用程序的线程。

应用程序消耗太多线程的另一种方法是创建过多的私有并发调度队列。因为每个调度队列都消耗线程资源,所以创建其他并发调度队列会加剧线程消耗问题。代替创建私有并发队列,将任务提交到全局并发调度队列之一。对于串行任务,请将串行队列的目标设置为全局并发队列之一。这样,您可以在最小化创建线程的单独队列数量的同时,维护队列的序列化行为。


主题


创建调度队列

1、class var main: Di

DispatchQueue (SwiftUI Dispatch 中文手册)相关推荐

  1. d3 API中文手册 3.x最后版

    引用 API中文手册 司机大傻编辑本页 on 18 Oct 2016  ·  77修订版 本文档由VisualCrew小组耗时两年翻译,保持与D3 V3最后一版(3.5.17)一致.D3 V4最新版A ...

  2. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  3. man nfsd(rpc.nfsd中文手册)

    本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html rpc.nfsd(8) System Manager's Manual rpc.nfs ...

  4. CSS2.0中文手册(CHM版)

    Div+Css是现在网站架设的一个趋势,应用Css对于网站有诸多的好处.本教程是沈小雨2002年制作的 Css2.0中文手册,对学习CSS和查询CSS属性非常有帮助. Css2.0中文手册针对的是已有 ...

  5. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  6. Apache2.2中文手册

    Apache2.2中文手册 CHM格试 转载于:https://blog.51cto.com/zjcookies/114174

  7. PostgreSQL9.3中文手册的在线纠错

    PostgreSQL9.3中文手册已经在PG中国社区的官网上正式发布了,下面是网址: http://www.postgres.cn/docs/9.3 然而翻译中难免会有一些小错误.所以我们在在线手册的 ...

  8. 英巴卡迪诺新年战略:支持Linux提供中文手册

    提到英巴卡迪诺Embarcadero公司可能会有人感到陌生但是提到其旗下的应用程序开发工具Delphi和C++Builder相信很多开发者都会有与此相关的记忆.从这几年英巴卡迪诺的产品升级和市场推广来 ...

  9. Ansible中文手册

    中文手册链接地址:http://www.simlinux.com/archives/409.html http://www.simlinux.com/books/Ansible-notes.pdf 右 ...

  10. python3.6手册中文版-python3.6中文手册下载|

    python3.6中文文档为你提供了两个版本的一个是.chm文件的还有一个是pdf文件的.pdf的是中文版,chm格式的是英文原版.无论是哪一版都是为了方便你学习python语言.如果你喜欢这款文档那 ...

最新文章

  1. 开发者,只有被裁,没有退休
  2. pandas.to_csv()中文编码问题
  3. uilabel 垂直居中对齐_给UILabel的文字添加垂直对齐的方式
  4. window7自带的分区
  5. 【EntityFramework 6.1.3】个人理解与问题记录
  6. 09年3月编程语言排行榜:Visual Basic与PHP的暗战
  7. 现代起亚混合动力SUV全球销量突破50万辆
  8. hadoop 操作(二)
  9. mysql双向复制_MySQL 双向复制
  10. 使用create-keyframe-animation实现js动画
  11. Linux系统中的nmap命令与netstat命令
  12. ubuntu安装anjuta
  13. 沉浸式体验参加网络安全培训班,学习过程详细到底!
  14. 中级计算机软件师考试试题,计算机水平考试-(a)中级软件设计师下午试题模拟64.doc...
  15. Python爬虫-QQ音乐下载(详解)
  16. mysql取倍数的数据_MySQL 基本命令
  17. Python爬虫第三课:我的人生第一只爬虫
  18. 取消唤醒计算机需要密码怎么设置密码,Win10唤醒睡眠时需要输入密码如何取消_win10系统取消唤醒密码的方法...
  19. Android编译时注解处理器
  20. 深度Deepin系统关机或重启的时候提示unattended upgrades shutdown的解决办法

热门文章

  1. usb gadget 端点halt的产生
  2. Mathematica 取整函数
  3. 互联网日报 | 6月3日 星期四 | 华为正式发布HarmonyOS 2;联想会员数突破1.4亿;今年全国高考报名人数1078万...
  4. 10年程序员私单的经历,送你3个找客户的关键技巧
  5. 第108章 属性关键字 - Required
  6. 3D建模高手制作魔兽女精灵王教程,制作你心目中的角色,学会你也可以
  7. 简单图片木马的生成与利用
  8. linux 系统gbk字符集,linux 修改字符集gbk
  9. 2011-6-14 - 晨间日志
  10. 计算机缓存设置方法,如何清除电脑缓存?清除电脑缓存方法介绍