GCD之Dispatch Queue

2016-06-08  本文已影响60人  子键_北京不眠夜

要添加工作到队列Dispatch Queue中,这个队列可以是串行或者并行的,并行队列会尽可能的并发执行其中的工作任务,而串行队列每次只能运行一个工作任务。
目前GCD中有三种类型的Dispatch Queue:

由于有这些种不同类型的队列,一种常见的使用模式是:

  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{  
    [self doHardWorkInBackground];
    dispatch_async(dispatch_get_main_queue(), ^{
         [self updateUI];
    });
});

将一些耗时的工作添加到全局队列,让系统分配线程去做,工作完成后再次调用GCD的主线程队列去完成UI相关的工作,这样做就不会因为大量的非UI相关工作加重主线程负担,从而加快UI事件响应。

上一篇 下一篇

猜你喜欢

热点阅读