
多线程
文章平均质量分 54
gaoyuqiang30
这个作者很懒,什么都没留下…
展开
-
dispatch_async_f 详解
之前面试的时候被问过一个问题:你知道dispatch_async_f 吗?我一脸蒙比,问题好变态,太偏了吧,见过但是没用过,不知道干啥的。。今天一时兴起,想了解一下,下面是参数的官方文档: context: The application-defined context parameter to pass to the function. work: The appl原创 2017-03-01 13:03:38 · 2730 阅读 · 0 评论 -
GCD 之任务操作(Dispatch Block)
在向队列中添加任务时,可以直接在对应的函数中添加 block。但是如果想对任务进行操作,比如监听任务、取消任务,就需要获取对应的 block。 创建block object-c 创建 block 有两种方式,第一种方式如下: dispatch_block_t dispatch_block_create(dispatch_block_flags_t flags, disp转载 2017-03-01 13:38:01 · 620 阅读 · 0 评论 -
GCD小结
0. Brief Introduction GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制。它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后者用来执行任务。 GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到执行(但不保证一定先执行结束)。 通过与线程池的配转载 2017-03-18 20:31:25 · 434 阅读 · 0 评论 -
iOS 并发编程之 Operation Queues
现如今移动设备也早已经进入了多核心 CPU 时代,并且随着时间的推移,CPU 的核心数只会增加不会减少。而作为软件开发者,我们需要做的就是尽可能地提高应用的并发性,来充分利用这些多核心 CPU 的性能。在 iOS 开发中,我们主要可以通过 Operation Queues、Dispatch Queues 和 Dispatch Sources 来提高应用的并发性。本文将主要介绍 Oper转载 2017-03-18 20:32:39 · 635 阅读 · 0 评论 -
优先级反转
什么是优先级反转? 优先级反转是指一个低优先级的任务持有一个被高优先级任务所需要的共享资源。高优先任务由于因资源缺乏而处于受阻状态,一直等到低优先级任务释放资源为止。而低优先级获得的CPU时间少,如果此时有优先级处于两者之间的任务,并且不需要那个共享资源,则该中优先级的任务反而超过这两个任务而获得CPU时间。如果高优先级等待资源时不是阻塞等待,而是忙循环,则可能永远无法获得资源,因为此时转载 2017-05-17 18:05:57 · 304 阅读 · 0 评论