iOS多线程总结

2018-12-19  本文已影响0人  魔灵abc

一、进程与线程的区别

进程:一个正在运行的应用程序,是cpu分配资源的最小单位

线程:一个进程要想执行任务至少有一条线程,线程就是一条无分叉的路径,是程序执行的最小单位

二、多线程原理

1.同一时间,cpu只能处理一条线程,只有一条线程在工作

2.多线程并发执行其实就是cpu快速在多条线程之间快速切换

3.如果cpu调度线程的速度非常快就造成了多线程并发执行的假象(多核cpu是真的并发执行)

思考:如果线程非常多会发生什么情况

1.cpu在n条线程快速切换,消耗资源

2.cpu调用的频率降低,执行效率下降

三、多线程优缺点

优点:能适当提高程序的执行效率,能适当提高资源利用率

缺点:创建线程是有开销的(子线程521KB,主线程1MB),如果开启大量线程降低程序性能,程序设计变得更加复杂

四、多线程安全问题

多线程访问同一块资源时,容易引发数据错乱、数据安全问题,解决方法加一把互斥锁。

五、其它

atomic:线程安全需要消耗大量的资源内部会加锁

nonatomic:非线程安全,适用移动设备

上一篇 下一篇

猜你喜欢

热点阅读