iOS-多线程

  • 程序,进程,线程

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

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

  • 单线程

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

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

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

  • 单、多线程的区别

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

  • iOS中关于UI的添加和刷新必须在主线程中操作;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多线程 在iOS开发中为提高程序的运行效率会将比较耗时的操作放在子线程中执行,iOS系统进程默认启动一个主线程,用...
    郭豪豪阅读 7,389评论 0 4
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 9,606评论 0 23
  • 首先了解单线程:一、单线程的应用,整个应用中只有一个顺序执行流,当执行流在执行某个耗时的操作,或者不能立即完成的任...
    甘哲157阅读 3,674评论 1 8
  • 本文将从以下几个部分来介绍多线程。 第一部分介绍多线程的基本原理。 第二部分介绍Run loop。 第三部分介绍多...
    曲年阅读 5,014评论 2 14
  • 单线程和多线程的区别 一. 程序、进程、线程 程序:由源代码生成的可执行应用。(例如:QQ.app)进程:一个正在...
    贤宇阅读 1,475评论 0 1