博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS-多线程
阅读量:6060 次
发布时间:2019-06-20

本文共 596 字,大约阅读时间需要 1 分钟。

  • ####程序,进程,线程

程序:由源代码生成的可执行应用; 进程:一个正在运行的程序可以看做一个进程,进程拥有独立运行所需的全部资源; 线程:程序中独立运行的代码段;

  • 一个进程是由一个或者多个线程组成。进程只负责资源的调度和分配,线程才是真正的执行单元,负责代码的执行;

  • ####单线程

每个正在运行的程序(即进程),至少包含一个线程,这个线程叫做主线程; 主线程在程序启动时被创建,用于执行main函数;

  • 只有一个主线程的程序,称作单线程程序; 在单线程程序中,主线程负责执行程序的所有代码(UI展现以及刷新,网络请求,本地存储等等)。这些代码只能顺序执行,无法并发执行;
  • ####多线程

拥有多个线程的程序,称作多线程程序; iOS允许用户开辟新的线程,相对于主线程来讲,这些线程,称作子线程; 可以根据需要开辟若干子线程; 子线程和主线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行了;

  • ####单、多线程的区别

单线程程序:只有一个线程,即主线程,代码顺序执行,容易出现代码阻塞(页面假死); 多线程程序:由多个线程,线程之间独立运行,能有效的避免代码阻塞,并且提高程序的运行性能;

  • iOS中关于UI的添加和刷新必须在主线程中操作;
  • #####iOS实现多线的几种方法

转载于:https://juejin.im/post/5a312958f265da43346fe9fd

你可能感兴趣的文章
利用windows的rar工具创建自解压安装文件的方法
查看>>
SQLServer2005的维护计划无法删除的解决方法
查看>>
POJ-2184 Cow Exhibition---01背包变形(负数偏移)
查看>>
Spark 的四种模式
查看>>
线性规划
查看>>
超越大典汽车维修系统
查看>>
Mybatis解决jdbc编程的问题
查看>>
如何理解Vue的render函数
查看>>
串口通讯(中)——USART
查看>>
微信浏览器无法跳转到apk下载链接 微信屏蔽了我的APP下载链接如何处理
查看>>
Tensorflow 数据导入
查看>>
li浮动 第二行第一个位置空白
查看>>
新站如何做SEO及注意事项
查看>>
Android上下文菜单
查看>>
HT图形组件设计之道(三)
查看>>
DP -- 递推
查看>>
【spark 深入学习 05】RDD编程之旅基础篇-01
查看>>
【原创 Hadoop&Spark 动手实践 3】Hadoop2.7.3 MapReduce理论与动手实践
查看>>
线程池的介绍及简单实现
查看>>
【吴恩达机器学习】学习笔记——2.1单变量线性回归算法
查看>>