用GCD来处理大量for loop任务
生活随笔
收集整理的這篇文章主要介紹了
用GCD来处理大量for loop任务
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在編程過程中,我們經(jīng)常會(huì)用到for循環(huán),而且for循環(huán)要做很多相關(guān)的任務(wù)。比如:
for (i = 0; i < count; i++) { //do a lot of work here. doSomething(i); }如果for循環(huán)中處理的任務(wù)是可并發(fā)的,顯然放到一個(gè)線程中處理是很慢的,GCD提供兩個(gè)函數(shù)dispatch_apply和dispatch_apply_f,dispatch_apply是用于Block的,而dispatch_apply_f可以用于c函數(shù),它們可以替代可并發(fā)的for循環(huán),來并行的運(yùn)行而提高執(zhí)行效率。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_apply(count, queue, ^(size_t i) { //do a lot of work here. doSomething(i); });?
?
轉(zhuǎn)載于:https://www.cnblogs.com/mystory/p/3467522.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的用GCD来处理大量for loop任务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的Notepad++环境配置
- 下一篇: jackson 实体转json