IOS开发中的多线程技术

多线程

什么是多线程

  • 1个进程中可以开启多条线程,每条线程可以并行(同时)执 行不同的任务
  • 进程 -> 车间,线程 -> 车间工人
  • 多线程技术可以提高程序的执行效率

多线程的原理

  • 同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)
  • 多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)
  • 如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象

IOS中的多线程

  • IOS程序运行之后,会开启1条默认的线程,称之为“主线程”或者叫"UI线程"
  • 主线程的主要作用
    • 显示页面,刷新页面
    • 处理UI事件(例如点击事件)

IOS中实现多线程的几种技术

  • pthread
    • 跨平台,可移植,但是使用难度稍大,适用于多种平台,是一套通用的的多线程API
    • 语言:C
    • 线程声明周期:程序员管理
  • NSThread
    • 面向对象的,比较易用的多线程技术
    • 语言:OC
    • 线程声明周期:程序员管理
  • GCD
    • 可以充分利用现在的多核设备,是现在IOS比较常用的多线程技术
    • 语言:C
    • 线程声明周期:自动管理
  • NSOperation
    • 基于GCD,但是封装成了OC语言的方法,更加面向对象,比GCD多了一些更简单实用的功能
    • 语言:OC
    • 线程声明周期:自动管理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • GCD: 特点:自动管理线程的生命周期(创建线程、调度任务、销毁线程),使用C语言,自带Block。灵活,方便,功...
    王蓝胖阅读 4,044评论 0 2
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,806评论 0 17
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,378评论 30 472
  • 1. 函数声明和函数表达式有什么区别? 在变量提升或声明提前过程中,函数声明是将整个被定义的函数提前,即该函数可以...
    王康_Wang阅读 2,905评论 0 0
  • 霞光如釉色眉流,斜晖脉脉雪悠悠。 此是人间冬好景,千丛万树尽白头。
    梅心梅飞阅读 1,651评论 5 20