非同步任務+並行隊列 把非同步任務放到並行隊列進行執行,非同步任務會在不同的線程中執行。 運行結果如下。非同步任務+並行隊列組合情況下,每個任務會在不同的線程中同時執行。 非同步任務+串列隊列(主隊列) 對於非同步任務放在串列隊列中執行時,任務只會在一個新開的線程中,按照順序進行執行。 運行結果如下。可以看到, ...
非同步任務+並行隊列
把非同步任務放到並行隊列進行執行,非同步任務會在不同的線程中執行。
/*非同步執行+並行隊列*/ - (IBAction)clickBasic1:(UIButton *)sender { //全局並行隊列 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); //非同步執行 dispatch_async(queue, ^{ for (int i = 0; i<2; i++) { NSLog(@"task1:%d",i); } NSLog(@"task1----%@",[NSThread currentThread]); }); dispatch_async(queue, ^{ for (int i = 0; i<2; i++) { NSLog(@"task2:%d",i); } NSLog(@"task2----%@",[NSThread currentThread]); }); dispatch_async(queue, ^{ for (int i = 0; i<2; i++) { NSLog(@"task3:%d",i); } NSLog(@"task3----%@",[NSThread currentThread]); }); }
運行結果如下。非同步任務+並行隊列組合情況下,每個任務會在不同的線程中同時執行。