所有operation objects都支持以下关键特性:
支持建立基于图的operation objects依赖。可以阻止某个operation运行,直到它依赖的所有operation都已经完成。
支持可选的completion block,在operation的主任务完成后调用。
支持应用使用KVO通知来监控operation的执行状态。
支持operation优先级,从而影响相对的执行顺序
支持取消,允许你中止正在执行的任务
NSBlockOperation 使用 addExecutionBlock: 可以添加更多block到这个block operation对象。如果需要顺序地执行block,你必须直接提交到所需的dispatch queue。