1. 程式人生 > >iOS的三種多執行緒技術 對比分析

iOS的三種多執行緒技術 對比分析

複製程式碼
 1 #pragma mark 模仿下載網路影象
 2 - (IBAction)operationDemo3:(id)sender
 3 {
 4     // 1. 下載
 5     NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{
 6         NSLog(@"下載 %@" , [NSThread currentThread]);
 7     }];
 8     // 2. 濾鏡
 9     NSBlockOperation *op2 = [NSBlockOperation blockOperationWithBlock:^{
10 NSLog(@"濾鏡 %@" , [NSThread currentThread]); 11 }]; 12 // 3. 顯示 13 NSBlockOperation *op3 = [NSBlockOperation blockOperationWithBlock:^{ 14 NSLog(@"更新UI %@" , [NSThread currentThread]); 15 }]; 16 17 // 新增操作之間的依賴關係,所謂“依賴”關係,就是等待前一個任務完成後,後一個任務才能啟動 18 // 依賴關係可以跨執行緒佇列實現
19 // 提示:在指定依賴關係時,注意不要迴圈依賴,否則不工作。 20 [op2 addDependency:op1]; 21 [op3 addDependency:op2]; 22 // [op1 addDependency:op3]; 23 24 [_queue addOperation:op1]; 25 [_queue addOperation:op2]; 26 [[NSOperationQueue mainQueue] addOperation:op3]; 27 }
複製程式碼