多個請求按順序執(zhí)行

1.dispatch_semaphore 信號量方式 https://www.aliyun.com/jiaocheng/362267.html
dispatch_semaphore_t sem = dispatch_semaphore_create(1);
dispatch_queue_t queue = dispatch_queue_create("testBlock", NULL);
dispatch_async(queue, ^{
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"1");
dispatch_semaphore_signal(sem);
});
});
dispatch_async(queue, ^{
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
NSLog(@"2");
dispatch_semaphore_signal(sem);
});
dispatch_async(queue, ^{
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"3");
dispatch_semaphore_signal(sem);
});
});
dispatch_async(queue, ^{
dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
NSLog(@"4");
dispatch_semaphore_signal(sem);
});

2.gcd調(diào)度組 http://www.itdecent.cn/p/698f7c89c32e
// 1. 調(diào)度組
dispatch_group_t group = dispatch_group_create();

// 2. 隊列
dispatch_queue_t q = dispatch_get_global_queue(0, 0);

// 3. 將任務(wù)添加到隊列和調(diào)度組
dispatch_group_async(group, q, ^{
    [NSThread sleepForTimeInterval:1.0]; 
    NSLog(@"任務(wù) 1 %@", [NSThread currentThread]);
});
dispatch_group_async(group, q, ^{
    NSLog(@"任務(wù) 2 %@", [NSThread currentThread]);
});
dispatch_group_async(group, q, ^{
    NSLog(@"任務(wù) 3 %@", [NSThread currentThread]);
});

// 4. 監(jiān)聽所有任務(wù)完成
dispatch_group_notify(group, q, ^{
    NSLog(@"OVER %@", [NSThread currentThread]);
});

3.dispatch_barrier_async 柵欄 https://blog.csdn.net/willluckysmile/article/details/61195571

iOS簡單優(yōu)雅的實現(xiàn)復(fù)雜情況下的串行需求https://blog.csdn.net/spicyshrimp/article/details/70845822

iOS基礎(chǔ)知識系列https://blog.csdn.net/spicyShrimp/article/details/62218521

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容