zoukankan      html  css  js  c++  java
  • ios多线程开发 GCD的基本使用

    /**

         *获取全局并发队列

         */

        dispatch_queue_t queue =  dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

        // 1.添加到异步任务队列中执行,开启新线程

        dispatch_async(queue, ^{

            // something

        });

        // 2.添加到同步任务队列中执行,不会开启新线程,并发队列失去并发功能

        dispatch_sync(queue, ^{

            // something

        });

        

        

       /**

        *创建串行队列

        */

        dispatch_queue_t _queue = dispatch_queue_create("w", NULL);

        // 1.添加到异步任务队列中执行,会开启新线程,但是只开启一个线程

        dispatch_async(_queue, ^{

            

        });

        // 2.添加到同步任务队列中执行,不会开启新线程,同步执行

        dispatch_sync(_queue, ^{

            

        });

        

        

        /*

            总结

            同步任务队列

            1)并发队列:不会开线程

            2)串行队列:不会开线程

            异步任务队列

            1)并发队列:能开启N条线程

            2)串行队列:开启1条线程

         */

  • 相关阅读:
    POJ 3177 Redundant Paths(无向图缩点)
    POJ 1502 MPI Maelstrom
    LightOJ 1094
    POJ 1564 Sum It Up(深搜)
    C语言复习6_doWhile循环
    进阶学习
    C语言复习5_调试
    C语言复习4_while循环
    C语言复习3_条件结构
    C语言复习2_运算符
  • 原文地址:https://www.cnblogs.com/yangli-ios/p/4193528.html
Copyright © 2011-2022 走看看