1-1 关于GCD中的创建和释放
在iOS6.0之前,在GCD中每当使用带creat单词的函数创建对象之后,都应该对其进行一次release操作。
在iOS6.0之后,GCD被纳入到了ARC的内存管理机制中,在使用GCD的时候我们就像对待普通OC对象一样对待GCD,因此不再需要我们调用release方法。
1-2 GCD中设置队列的优先级
01 使用create函数创建出来的队列不论是串行队列还是并发队列,其执行任务线程的优先级都是默认优先级。
02 可以通过set_target_queue来变更队列的优先级。第一个参数传通过creat创建出来的队列,后面一个参数传指定了优先级的全局并发队列。第一个参数如果传主队列或者全局并发队列的话,那么执行结果是未知的。
1-3 暂停和恢复。
GCD中的队列也是可以暂停和恢复的,直接把相应的队列作为参数做传递就可以。使用 dispatch_resume(queue1)[启动queue1];和dispatch_suspend(queue1);[暂停queue1]
1-4 GCD中可以不使用block而使用函数。
1-5 在NSOperation中关于main方法的调用问题。
先调用start方法,在start方法内部会调用main方法。可以通过代码来进行验证。
参考资料:
封装任务: