1. 通过NSOperationQueue实现任务优先级控制
- 设置NSOperation的优先级:在将
NSOperation
对象添加到NSOperationQueue
之前,可以设置NSOperation
的优先级。NSOperation
有一个queuePriority
属性用于设置优先级。
NSOperation *operation1 = [[NSOperation alloc] init];
operation1.queuePriority = NSOperationQueuePriorityHigh;
NSOperation *operation2 = [[NSOperation alloc] init];
operation2.queuePriority = NSOperationQueuePriorityLow;
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperation:operation1];
[queue addOperation:operation2];
- 优先级规则:当
NSOperationQueue
执行任务时,会优先执行优先级高的任务。NSOperationQueuePriority
有以下几种优先级级别:
NSOperationQueuePriorityVeryHigh
:非常高的优先级。
NSOperationQueuePriorityHigh
:高优先级。
NSOperationQueuePriorityNormal
:普通优先级(默认)。
NSOperationQueuePriorityLow
:低优先级。
NSOperationQueuePriorityVeryLow
:非常低的优先级。
2. NSOperation类中与优先级相关的属性及其作用
- queuePriority属性:
- 作用:用于设置
NSOperation
在NSOperationQueue
中的执行优先级。优先级高的操作会比优先级低的操作优先被NSOperationQueue
调度执行。
- 类型:
NSOperationQueuePriority
枚举类型,如上述提到的不同优先级级别。