美文网首页
最浅显易懂的iOS多线程技术 - GCD的教程

最浅显易懂的iOS多线程技术 - GCD的教程

作者: 奇怪的知识增加了 | 来源:发表于2017-03-09 17:49 被阅读0次

    最浅显易懂的iOS多线程技术 - GCD的教程

    注释:队列是用来存放任务的,线程是执行任务的,队列好比高速公路服务区,并发队列好比服务区的多条出口,线程相当于高速公路,服务区的多条出口之间互不影响,串行队列好比服务区只有一条出口,所有的车只能排着队上高速

    5.2 并发队列的创建:

    1.使用 dispatch_queue_create 函数创建并发队列。

    dispatch_queue_t queue = dispatch_queue_create("concurrent.queue", DISPATCH_QUEUE_CONCURRENT);

    2.使用 dispatch_get_global_queue 获得全局并发队列。

    GCD默认已经提供了全局的并发队列,供整个应用使用,可以无需手动创建。

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    5.1 串行队列的创建:

    GCD中获得串行有2种途径:

    1.使用 dispatch_queue_create 函数创建串行队列

    // 创建串行队列(队列类型传递NULL或者DISPATCH_QUEUE_SERIAL)

    dispatch_queue_t queue = dispatch_queue_create("serial_queue", NULL);

    2.使用主队列(跟主线程相关联的队列)

    主队列是GCD自带的一种特殊的串行队列:放在主队列中的任务,都会放到主线程中执行。

    可以使用dispatch_get_main_queue()获得系统提供的主队列:

    dispatch_queue_t queue = dispatch_get_main_queue();

    参考资料

    iOS多线程GCD详解

    iOS多线程GCD

    GCD使用三部曲之:基本用法

    多线程编程4 - GCD

    iOS-GCD使用详解

    完整详解GCD系列(一)dispatch_async;dispatch_sync;dispatch_async_f;dispatch_sync_f

    相关文章

      网友评论

          本文标题:最浅显易懂的iOS多线程技术 - GCD的教程

          本文链接:https://www.haomeiwen.com/subject/sycggttx.html