1
shippo7 OP 说说我的理解:
GCD 可以避免 Operation Queue 多个 block 直接的传值问题,代码更为简洁。 但是 StackOverFlow 上有个答案说 GCD 比 Operation Queue 更为底层,因为基于 C ,在没有特别需求的情况下,应该用高级代码 |
2
loveuqian 2016-01-08 00:15:20 +08:00 via iPhone
后者是前者的一套封装,性能肯定是前者高
一般用前者敲句 dispatch 就出来全部你想要的 之前看到一句话 还有用 gcd 解决不了的问题?那我选择辞职 |
3
0xfan 2016-01-08 10:24:59 +08:00 via iPhone
NSOperationQueue 用 OO 的思想对 GCD 进行了封装,更高级。本质上都是同一套东西,选择上就看个人喜好了。网上肯定是推荐什么的都有,看的越多反而越纠结。
|
4
wingzki 2016-01-08 16:14:10 +08:00
Operation Queue 是基于 GCD 的面向对象封装。如果你需要对任务的过程进行精确的控制用 Operation ,如果随便后台算几个数画个图什么的用 GCD 。不过理论上 Operation 能干的事 GCD 都能干,就是代码多点麻烦点,需要你有一定的功底。
|
5
sudaNY 2016-03-11 12:28:23 +08:00
好像楼上都说的是封装方面,其实 NSOperationQuene 的特点是可以按顺序走, gcd 是无序的。
|