zoukankan      html  css  js  c++  java
  • GCD的简单封装

     扩展: dispatch_block_t :无参数block,使用起来很简单

     下载链接:http://pan.baidu.com/s/1bndN6Yb

       //串行队列
    - (void)test1 {
      
        WJGCDQueue *queue = [[WJGCDQueue alloc]initSerial];
        [queue execute:^{
            NSLog(@"1--%@",[NSThread currentThread]);
        }];
        [queue execute:^{
            NSLog(@"2--%@",[NSThread currentThread]);
        }];
        [queue execute:^{
            NSLog(@"3--%@",[NSThread currentThread]);
        }];
    }
        //并行队列
    - (void)test2 {
        
        WJGCDQueue *queue = [[WJGCDQueue alloc]initConcurrent];
        [queue execute:^{
            NSLog(@"1--%@",[NSThread currentThread]);
        }];
        [queue execute:^{
            NSLog(@"2--%@",[NSThread currentThread]);
        }];
        [queue execute:^{
            NSLog(@"3--%@",[NSThread currentThread]);
        }];
    }

       //复杂运算,更新ui
    - (void)test3 {
        
        [WJGCDQueue executeInGlobalQueue:^{
            NSLog(@"处理业务逻辑");
            [WJGCDQueue executeInMainQueue:^{
                NSLog(@"更新UI");
            }];
        }];
    }
        //延时操作
    - (void)test4 {
        NSLog(@"%@",[NSDate date]);
        [WJGCDQueue executeInMainQueue:^{
             NSLog(@"%@",[NSDate date]);
        } afterDelaySecs:2];
    }
        //定时器
    - (void)test5 {
        self.gcdTimer = [[WJGCDTimer alloc]initInQueue:[WJGCDQueue mainQueue]];
        [self.gcdTimer event:^{
            NSLog(@"GCD定时器");
        } timeInterval:NSEC_PER_SEC];
        [self.gcdTimer start];
    }
        //队列组
    - (void)test6 {
        WJGCDGroup *group = [[WJGCDGroup alloc]init];
        WJGCDQueue *queue = [[WJGCDQueue alloc]initConcurrent];
        [queue execute:^{
            NSLog(@"线程1");
        } inGroup:group];
        [queue notify:^{
            NSLog(@"线程执行");
        } inGroup:group];
    }

        //信号量
    - (void)test7 {
        WJGCDSemaphore *semaphore = [[WJGCDSemaphore alloc]init];
        [semaphore signal];
        [semaphore wait];
    }
  • 相关阅读:
    Xamarin.Forms之界面设计原则
    Xamarin.Forms之异步
    Xamarin Studio常见问题
    Xamarin.Forms之Button
    Xamarin.Forms之MessagingCenter
    Xamarin.Forms之Frame布局
    Xamarin.Forms之OnPlatform的使用
    2018/11/7 20:47:57
    2018/11/6
    2018/11/5 每日分析-test
  • 原文地址:https://www.cnblogs.com/hxwj/p/4669163.html
Copyright © 2011-2022 走看看