iOS - 多线程(一):初识

2020-02-14  本文已影响0人  师大小海腾

iOS - 多线程 系列文章

iOS - 多线程(一):初识
iOS - 多线程(二):pthread、NSThread
iOS - 多线程(三):GCD
iOS - 多线程(四):NSOperation
iOS - 多线程(五):线程同步方案

网络配图.jpg

目录

  • 1. 线程和进程
     1.1 线程的定义
     1.2 进程的定义
     1.3 线程和进程的关系和区别
     1.4 为什么要在主线程更新UI?
  • 2. 多线程
     2.1 多线程的意义
     2.2 多线程的执行原理
     2.3 iOS中的多线程技术方案
  • 3. 线程与RunLoop的关系
  • 相关链接

1.线程和进程

1.1 线程的定义

1.2 进程的定义

1.3 线程与进程的区别

1.4 为什么要在主线程更新UI?

安全+效率:因为 UIKit 框架不是线程安全的框架,当在多个线程进行 UI 操作,有可能出现资源抢夺,导致问题。

2.多线程

2.1 多线程的意义

优点:
缺点:

2.2 多线程的执行原理

2.3 iOS中的多线程技术方案

技术方案 简介 语言 线程生命周期 使用频率
pthread ● 一套通用的多线程API
● 适用于Unix\Linux\Windows等系统
● 跨平台\可移植
● 使用难度大
C 程序员管理 几乎不用
NSThread ● 使用更加面向对象
● 简单易用,可直接操作线程对象
OC 程序员管理 偶尔使用
GCD ● 旨在替代NSThread等线程技术
● 充分利用设备的多核
C 自动管理 经常使用
NSOperation ● 基于GCD(底层是GCD)
● 比GCD多了一些更简单实用的功能
● 使用更加面向对象
OC 自动管理 经常使用

3. 线程与RunLoop的关系

  苹果官方文档:线程编程指南——RunLoop
  从苹果官方文档可以看到,RunLoop的相关介绍写在线程编程指南中,可见RunLoop和线程的关系不一般。

相关链接:深入浅出 RunLoop(四):RunLoop 与线程

相关链接

Threading Programming Guide(苹果官方文档)

上一篇下一篇

猜你喜欢

热点阅读