iOS多线程总结

一、进程与线程的区别

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

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

二、多线程原理

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

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

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

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

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

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

三、多线程优缺点

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

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

四、多线程安全问题

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

五、其它

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,202评论 0 23
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 12,157评论 3 34
  • iOS多线程编程 基本知识 1. 进程(process) 进程是指在系统中正在运行的一个应用程序,就是一段程序的执...
    陵无山阅读 6,173评论 1 14
  • 1.内存的页面置换算法 (1)最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的...
    杰伦哎呦哎呦阅读 3,392评论 1 9
  • 背景 前段时间锻炼身体胃出血的事情,每天想着这个事情,害怕有什么大问题!这周一才预约下周一去做胃镜检查,又要担心好...
    Dely阅读 12,444评论 25 220