zoukankan      html  css  js  c++  java
  • GCD多线程使用

    - (void)showTaped
    {
        /*
         dispatch_get_global_queue
         dispatch_get_main_queue
         dispatch_queue_create
         dispatch_get_current_queue
         dispatch_queue_get_label
         dispatch_set_target_queue
         dispatch_main
         */
        
        //卡UI
    //    dispatch_async(dispatch_get_main_queue(), ^{
    //        [self testRun1000W];
    //    });
        
        
        //不卡UI
    //    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //        [self testRun1000W];
    //    });
        
        
        //卡UI 已弃用
    //    dispatch_async(dispatch_get_current_queue(), ^{
    //        [self testRun1000W];
    //    });
        
        
        //在主线程中不能调用此方法
    //    dispatch_async(dispatch_main(), ^{
    //        
    //    });
        
        
        //卡,直接不打印
    //    dispatch_sync(dispatch_get_main_queue(), ^{
    //        [self testRun1000W];
    //    });
        
        
    //    //卡UI
    //    dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //        [self testRun1000W];
    //    });
        
        
        //并行 不卡UI
    //    dispatch_queue_t searQuene = dispatch_queue_create("sear", DISPATCH_QUEUE_SERIAL);
    //    dispatch_async(searQuene, ^{
    //        [self testRun1000W];
    //    });
    //    //[searQuene release];
        
        //并行,卡UI
    //    dispatch_sync(searQuene, ^{
    //        [self testRun1000W];
    //    });
    //    
    //    dispatch_release(searQuene);
        
        
        
        
        //串行,不卡UI
    //    dispatch_queue_t connuQuene = dispatch_queue_create("con", DISPATCH_QUEUE_CONCURRENT);
    ////    dispatch_async(connuQuene, ^{
    ////        [self testRun1000W];
    ////    });
    //    
    //    //串行,卡UI
    //    dispatch_sync(connuQuene, ^{
    //        [self testRun1000W];
    //    });
    //    
    //    dispatch_release(connuQuene);
        
    
        
    }
    
    - (void)testRun1000W
    {
        for (int i = 0; i < 10000; i++) {
            NSLog(@"%d ",i);
        }
    }
  • 相关阅读:
    6:python2、python3 的区别及小数据池
    web前端----html表单操作
    web前端----html基础
    mysql数据库----索引原理与慢查询优化
    MySQL数据库----流程控制
    MySQL数据库----IDE工具介绍及数据备份
    MySQL数据库----数据锁
    MySQL数据库----事务处理
    MySQL数据库----事务
    MySQL数据库----函数
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3291742.html
Copyright © 2011-2022 走看看