码迷,mamicode.com
首页 > 移动开发 > 详细

IOS GCD

时间:2014-05-05 10:25:57      阅读:514      评论:0      收藏:0      [点我收藏+]

标签:class   color   get   int   string   set   

    

    UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

    [btn setTitle:@"default"forState:UIControlStateNormal];

    

    btn.backgroundColor = [UIColorblackColor];

    

    [self.view addSubview:btn];

    

 

    //情况一

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        

        for( NSInteger i = 0; i < 20; ++ i )

        {

            sleep(1);

            

            NSLog(@"loop:%d",i);

            

            dispatch_async(dispatch_get_main_queue(), ^{

                

                NSString * str = [NSString stringWithFormat:@"%d",i];

                

                [btn setTitle:str forState:UIControlStateNormal];

                

            });

        }

        

    });

    

    //情况二

    /*

    

    dispatch_queue_t serQ = dispatch_queue_create("rock", DISPATCH_QUEUE_SERIAL);

    

    dispatch_async(serQ, ^{

        

        for( NSInteger i = 0; i < 20; ++ i )

        {

            sleep(1);

            

            NSLog(@"loop:%d",i);

            

            dispatch_async(dispatch_get_main_queue(), ^{

                

                NSString * str = [NSString stringWithFormat:@"%d",i];

                

                [btn setTitle:str forState:UIControlStateNormal];

                

            });

        }

        

    });

     */

    

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

当某几个任务执行完毕之后,接着执行另外一个任务,那就应该使用dispatch group 这个功能了

 

    dispatch_group_t group = dispatch_group_create();

    

    dispatch_group_async(group, dispatch_get_global_queue(0, 0), ^{

        

        for( NSInteger i = 0; i < 10; ++ i )

        {

            sleep(1);

            NSLog(@"loop1:%d",i);

        }

        

    });

    

    dispatch_group_async(group,dispatch_get_global_queue(0, 0),^{

        

        for( NSInteger i = 0; i < 10; ++ i )

        {

            sleep(1);

            NSLog(@"loop2:%d",i);

        }

 

    });

    

    dispatch_group_notify(group, dispatch_get_global_queue(0, 0), ^{

        

        NSLog(@"done");

    });

IOS GCD,布布扣,bubuko.com

IOS GCD

标签:class   color   get   int   string   set   

原文地址:http://www.cnblogs.com/rollrock/p/3707857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!