//任務依賴:如果A依賴B,等B執行完成后,再去執行A
安卓任務依賴排序執行、-(void)dependency
{
nsoperation?? ? NSOperationQueue *queue = [[NSOperationQueue alloc]init];
?
quartz任務依賴、? ? NSBlockOperation *bp1 = [NSBlockOperation blockOperationWithBlock:^{
? ? ? ? for (int i = 0; i < 10; i++) {
?? ? ? ? ? ? NSLog(@"--1-%@-",[NSThread currentThread]);
? ? ? ? }
? ? ? ?
?
? ? }];
? ? NSBlockOperation *bp2 = [NSBlockOperation blockOperationWithBlock:^{
? ? ? ? for (int i = 0; i < 10; i++) {
? ? ? ? ? ? NSLog(@"--2-%@-",[NSThread currentThread]);
? ? ? ? }
?
?? ? ? ?
? ? }];
? ? NSBlockOperation *bp3 = [NSBlockOperation blockOperationWithBlock:^{
? ? ? ? for (int i = 0; i < 10; i++) {
? ? ? ? ? ? NSLog(@"--3-%@-",[NSThread currentThread]);
? ? ? ? }
?
?? ? ? ?
? ? }];
? ? //添加12間的依賴,前者依賴后者,先執行后者,在執行前者
? ? //注意:任務之間不能相互依賴
? ? [bp1 addDependency:bp2];
? ? [queue addOperation:bp1];
? ? [queue addOperation:bp2];
? ? [queue addOperation:bp3];
}
?