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条线程

     */

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。