Queue-Related Technologies
* Dispatch groups 它通过监听block有没有执行完成,可以监听同步或者异步
* Dispatch semaphores 它和传统的信号量类似
* Dispatch sources 它生成通知,并响应系统的事件,可以用它监听事件
Performing Loop Iterations Concurrently
如果你的每次循环是互不相关的,可以通过dispatch_apple或dispatch_apply_f,通过传入concurrent queue,它们能同时执行多个循环
dispatch_apply(100,dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t i) {
NSLog(@"%@", @(i));
});
Using Dispatch Semaphores to Regulate the Use of Finite Resources
这个就类似于操作系统的信号量。用来管理有限的资源。
* 用 dispatch_semaphore_create 生成一个信号量,参数是一个资源的可用数量
* 在每个任务中,调用 dispatch_semaphore_wait 等待信号量
* 当上面wait return,获取资源并继续执行
* 当你完成资源,释放它,并调用 dispatch_semaphore_signal
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。