码迷,mamicode.com
首页 > 其他好文 > 详细

GCD

时间:2014-12-09 00:19:15      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:des   io   ar   os   sp   for   on   2014   log   

//

//  ZBMainViewController.m

//  TestProject

//

//  Created by 张先森 on 14/12/5.

//  Copyright (c) 2014年 zhibin. All rights reserved.

//

 

#import "ZBMainViewController.h"

 

@interface ZBMainViewController ()

 

@end

 

@implementation ZBMainViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

   // [self InitControls];

    

    [self InitControls];

}

 

 

//异步添加到并发队列 开启新线程

-(void)InitControls{

 

    dispatch_queue_t  queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    dispatch_async(queue, ^{

        NSLog(@"%@c测试1",[NSThread currentThread]);

    });

    dispatch_async(queue, ^{

               NSLog(@"%@c测试2",[NSThread currentThread]);

    });

    dispatch_async(queue, ^{

               NSLog(@"%@c测试3",[NSThread currentThread]);

    });

}

 

//异步添加到同步线程  会开启一个线程

-(void)InitControls2{

    

    dispatch_queue_t queue=dispatch_queue_create("zhibin", NULL);

  

    dispatch_async(queue, ^{

          NSLog(@"%@c测试1",[NSThread currentThread]);

    });

    dispatch_async(queue, ^{

                  NSLog(@"%@c测试2",[NSThread currentThread]);

    });

    dispatch_async(queue, ^{

        

        NSLog(@"%@c测试3",[NSThread currentThread]);

    });

}

//同步添加到并发线程中  不开启新线程   线程失去并发能力

-(void)InitControls3{

    dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    

    

    dispatch_sync(queue, ^{

                NSLog(@"%@c测试1",[NSThread currentThread]);

    });

    

    dispatch_sync(queue, ^{

                NSLog(@"%@c测试2",[NSThread currentThread]);

    });

    

    dispatch_sync(queue, ^{

                NSLog(@"%@c测试3",[NSThread currentThread]);

    });

 

}

 

//同步添加串行队列 不会开启新线程

-(void)InitControls4{

    dispatch_queue_t  queue=dispatch_queue_create("zhibin", NULL);

    dispatch_sync(queue, ^{

              NSLog(@"%@c测试1",[NSThread currentThread]);

    });

    dispatch_sync(queue, ^{

        NSLog(@"%@c测试2",[NSThread currentThread]);

    });

    dispatch_sync(queue, ^{

        NSLog(@"%@c测试3",[NSThread currentThread]);

    });

}

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

/*

#pragma mark - Navigation

 

// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].

    // Pass the selected object to the new view controller.

}

*/

 

@end

 

GCD

标签:des   io   ar   os   sp   for   on   2014   log   

原文地址:http://www.cnblogs.com/zhibin/p/4152201.html

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