iOS多线程2 Opertaion补充

来源:互联网 发布:2017网络流行语汇总 编辑:程序博客网 时间:2024/06/13 04:47
   Operation 可以添加依赖
  [operation1 addDependency:operation2];</span>

 这样保证operation1在operation2之后执行.有添加依赖就有删除依赖

[operation1 removeDependency:operation2];</span>


operation还可以设置优先级

[operation1 setQueuePriority:NSOperationQueuePriorityLow];</span>
优先级可以选择
typedef NS_ENUM(NSInteger, NSOperationQueuePriority) {NSOperationQueuePriorityVeryLow = -8L,NSOperationQueuePriorityLow = -4L,NSOperationQueuePriorityNormal = 0,NSOperationQueuePriorityHigh = 4,NSOperationQueuePriorityVeryHigh = 8};
取消operation
 [operation1 cancel];

Operation 符合KVO通知,可以在线程中了解操作到哪一步。

Operation KVO的状态有

  • isCancelled
  • isConcurrent
  • isExecuting
  • isFinished
  • isReady
  • dependencies
  • queuePriority
  • completionBlock
  • 注意多线程造成死锁,

Operation的并发数是由系统决定的,系统会控制有多少并发数。



0 0