《转》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 使用简单,很是方便。spa

相关文章
相关标签/搜索