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