1、並行-非同步(ST1與ST2搶占資源) 1-1)、獲取 並行(全局)隊列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 為預設優先順序。 1-2)、創建非同步事件。 2、串列-同步(順序執行) 2-1)、創建串列隊列,DISPATCH_QUEUE_SERIAL 為串列 2-2)、創 ...
1、並行-非同步(ST1與ST2搶占資源)
1-1)、獲取 並行(全局)隊列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 為預設優先順序。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);
1-2)、創建非同步事件。
dispatch_async(queue, ^{ //do something 1 }); dispatch_async(queue, ^{ //do something 2 });
2、串列-同步(順序執行)
2-1)、創建串列隊列,DISPATCH_QUEUE_SERIAL 為串列
dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL);
2-2)、創建同步事件。
dispatch_sync(queue, ^{ //do something 1 }); dispatch_sync(queue, ^{ //do something 2 });
3、並行-同步(順序執行)
3-1)、獲取 並行(全局)隊列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 為預設優先順序。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0);
3-2)、創建同步事件。
dispatch_sync(queue, ^{ //do something 1 }); dispatch_sync(queue, ^{ //do something 2 });
4、串列-非同步(理解起來怪怪的,測試結果,順序執行)
4-1)、創建串列隊列,DISPATCH_QUEUE_SERIAL 為串列
dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL);
4-2)、創建非同步事件。
dispatch_async(queue, ^{ //do something 1 }); dispatch_async(queue, ^{ //do something 2 });
一般1-3就夠用了吧?!