GCD

一、 GCD控制線程數(shù)
1、初始化一個可以接收任務block的隊列
2、初始化一個并行GCD隊列
3、如控制并發(fā)數(shù)是5個,初始化信號量為5
4、將block中異步加入CGD隊列中,在該處加入信號量的控制(感覺還是有問題,加入GCD的異步方法,會產(chǎn)生很多線程)
參考:http://www.itdecent.cn/p/75214bc1bc97
http://www.itdecent.cn/p/5bb4123e415c
http://www.itdecent.cn/p/b4ac982108f3

二、GCD取消任務
注意:所有取消任務的方法,都不能取消正在執(zhí)行的任務
1、使用dispatch_block_cancel
iOS8之后可以調(diào)用dispatch_block_cancel來取消(需要注意必須用dispatch_block_create創(chuàng)建dispatch_block_t)
2、自己使用變量控制任務取消
如設置布爾值,在所有任務block開始處,先判斷布爾值,如果為true,則return

*一般情況,如果有對異步任務有特殊要求,建議使用 NSOperation、NSOperationQueue
參考:http://www.itdecent.cn/p/4b1d77054b35

GCD相關(guān)參考:
底層實現(xiàn):https://blog.csdn.net/passerbysrs/article/details/18563325

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

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