美文网首页
iOS Block、多线程编程

iOS Block、多线程编程

作者: Yison_a169 | 来源:发表于2021-08-14 10:22 被阅读0次

一、Block

block的代码是内联的,效率高于函数调用
block对于外部变量默认是只读属性
block被Objective-C看成是对象处理

iOS开发-由浅至深学习block - 简书 (jianshu.com)
(16条消息) iOS Block用法和实现原理_jeffasd的专栏-CSDN博客


二、多线程编程

GCD

使用步骤其实很简单,只有两步:
创建一个队列(串行队列或并发队列)
将任务追加到任务的等待队列中,然后系统就会根据任务类型执行任务(同步执行或异步执行)
iOS 多线程:『GCD』详尽总结 - 简书 (jianshu.com)

NSThread

可以直接操作线程对象。不过也需要需要程序员自己管理线程的生命周期(主要是创建),
iOS 多线程:『pthread、NSThread』详尽总结 - 简书 (jianshu.com)

NSOperationQueue

NSOperation、NSOperationQueue 是基于 GCD 更高一层的封装,完全面向对象。但是比 GCD 更简单易用、代码可读性也更高。

为什么要使用 NSOperation、NSOperationQueue?

1.可添加完成的代码块,在操作完成后执行。
2.添加操作之间的依赖关系,方便的控制执行顺序。
3.设定操作执行的优先级。
4.可以很方便的取消一个操作的执行。
5.使用 KVO 观察对操作执行状态的更改:isExecuteing、isFinished、isCancelled。

iOS 多线程:『NSOperation、NSOperationQueue』详尽总结 - 简书 (jianshu.com)

RunLoop

iOS 多线程:『RunLoop』详尽总结 - 简书 (jianshu.com)

相关文章

网友评论

      本文标题:iOS Block、多线程编程

      本文链接:https://www.haomeiwen.com/subject/xkisbltx.html