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

         */

  • 相关阅读:
    App Store 审核指南
    Redis持久化
    PHP扩展高性能日志系统SeasLog简单上手
    Linux下Redis的安装配置
    Windows下Redis的安装
    安装wamp环境 最新完整版
    Git安装配置(完整版)
    Linux下SVN配置
    配置最新版LAMP环境
    Linux下ftp的安装配置
  • 原文地址:https://www.cnblogs.com/yangli-ios/p/4193528.html
Copyright © 2011-2022 走看看