iOS 多线程
作者:互联网
1. 进程和线程的区别
- 线程是CPU调用(执行任务)的最小单位
- 进程是CPU分配资源的最小单位
- 一个进程中至少要有一个线程
- 同一个进程内的线程共享进程的资源
2. 多线程的原理
同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)
多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)
如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象
思考:如果线程非常非常多,会发生什么情况?
CPU会在N多线程之间调度,CPU会累死,消耗大量的CPU资源
每条线程被调度执行的频次会降低(线程的执行效率降低)
3. NSThread、GCD和NSOperation的区别
- NSThread
使用更加面向对象
OC语言
简单易用,可直接操作线程对象
线程生命周期程序员管理
- GCD
旨在替代NSThread等线程技术
充分利用设备的多核
C语言
线程生命周期自动管理
- NSOperation
使用更加面向对象
OC语言
基于GCD(底层是GCD)
比GCD多了一些更简单实用的功能
线程生命周期自动管理
标签:GCD,iOS,C语言,线程,NSThread,多线程,CPU 来源: https://blog.csdn.net/gsl111000/article/details/94010995