Multithread 什么时候处理多线程,有几种方式,优缺点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Multithread 什么时候处理多线程,有几种方式,优缺点?相关的知识,希望对你有一定的参考价值。

1.在 ios 编程中,这几种情况下需要处理多线程:UI 事件必须在主线程里进行,其他的可以放在后台进行;而进行一些耗时长或阻塞线程的任务,最后放进后台线程里进行。

2.iOS 的多线程技术有这么几种:线程,GCD 和 NSOperationQueue(操作队列)。

3.线程这种技术比较复杂,但线程有个后二者没有的优势:能够精确保证任务执行的时间。GCD 全称是 Grand Central Dispatch, 是 libdispatch 这个库的外部代号,基于 C 的底层来实现;而NSOperationQueue,通称操作队列,是基于 GCD 实现的。GCD 能做的 NSOperationQueue 基本上都能做,而且还有些 GCD 中不易实现的特性,如挂起、取消任务,虽然在 iOS 8 中,GCD 也提供了取消任务的功能,但在 GCD 中任务的挂起和取消都有较大的局限性;虽然大多数情况下应该使用抽象级别更高的 API,也就是 NSOperationQueue,但处理一般的后台任务我偏爱 GCD,主要是 GCD 搭配 Blcok 使用简单,非常方便。

以上是关于Multithread 什么时候处理多线程,有几种方式,优缺点?的主要内容,如果未能解决你的问题,请参考以下文章

java多线程有几种实现方法,都是什么?

多线程同步和互斥有几种实现方法,都是什么?

多线程--MultiThread

java多线程有几种实现方法?线程之间如何同步

Python中的多线程并行运行

MultiThread(VS2013 MFC多线程-含源码-含个人逐步实现文档)