iOS开发多线程详细解释

概览

大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程,这样一来用户完成UI操作后其他后续任务在其他线程中,当CPU空闲时会继续执行,而此时对于用户而言可以继续进行其他操作;对于多核处理器,如果用户在UI线程中完成某个操作之后,其他后续操作在别的线程中继续执行,用户同样可以继续进行其他UI操作,与此同时前一个操作的后续任务可以分散到多个空闲CPU中继续执行(当然具体调度顺序要根据程序设计而定),及解决了线程阻塞又提高了运行效率。苹果从iPad2 开始使用双核A5处理器(iPhone中从iPhone 4S开始使用),A7中还加入了协处理器,如何充分发挥这些处理器的性能确实值得思考。今天将重点分析iOS多线程开发:

多线程

简介 

iOS多线程 

NSThread

解决线程阻塞问题 

多线程并发 

线程状态 

扩展-NSObject分类扩展 

NSOperation

NSInvocationOperation 

NSBlockOperation 

线程执行顺序 

GCD

串行队列 

并发队列 

其他任务执行方法 

线程同步

NSLock同步锁 

@synchronized代码块 

扩展--使用GCD解决资源抢占问题 

扩展--控制线程通信

多线程这一块,如果长期不使用,慢慢就会忘掉,但是面试总会问,所以记录一下

以上所有的解释出自 https://www.cnblogs.com/kenshincui/p/3983982.html

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

推荐阅读更多精彩内容