iOS GCD基本使用(二)

作者: BEYOND黄 | 来源:发表于2017-05-30 00:06 被阅读15次

//异步函数+并发队列会开启多条线程,异步执行

- (void)asyncConcurrent{

//1.创建队列

//第一个参数:c语言字符串,就是一个标识符,用来区分队列

//第二个参数:队列的类型:DISPATCH_QUEUE_SERIAL串行DISPATCH_QUEUE_CONCURRENT并行

dispatch_queue_tqueue =dispatch_queue_create("first",DISPATCH_QUEUE_CONCURRENT);

//2.封装任务->添加任务到队列中

//第一个参数:队列

//第二参数:要执行的任务

dispatch_async(queue, ^{

NSLog(@"first====%@",[NSThreadcurrentThread]);

});

dispatch_async(queue, ^{

NSLog(@"second====%@",[NSThreadcurrentThread]);

});

dispatch_async(queue, ^{

NSLog(@"third====%@",[NSThreadcurrentThread]);

});

}

//异步函数+串行队列:会开线程,开一条线程,队列中的任务是串行执行的

-(void)asyncSerial

{

//1.创建队列

dispatch_queue_tqueue =dispatch_queue_create("download",DISPATCH_QUEUE_SERIAL);

//2.封装操作

dispatch_async(queue, ^{

NSLog(@"download1----%@",[NSThreadcurrentThread]);

});

dispatch_async(queue, ^{

NSLog(@"download2----%@",[NSThreadcurrentThread]);

});

dispatch_async(queue, ^{

NSLog(@"download3----%@",[NSThreadcurrentThread]);

});

}

//同步函数+并发队列:不会开线程,任务是串行执行的

-(void)syncConcurrent

{

//1.创建队列

dispatch_queue_tqueue =dispatch_queue_create("download",DISPATCH_QUEUE_CONCURRENT);

NSLog(@"---start---");

//2.封装任务

dispatch_sync(queue, ^{

NSLog(@"download1----%@",[NSThreadcurrentThread]);

});

dispatch_sync(queue, ^{

NSLog(@"download2----%@",[NSThreadcurrentThread]);

});

dispatch_sync(queue, ^{

NSLog(@"download3----%@",[NSThreadcurrentThread]);

});

NSLog(@"---end---");

}

//同步函数+串行队列:不会开线程,任务是串行执行的

-(void)syncSerial

{

//1.创建队列

dispatch_queue_tqueue =dispatch_queue_create("download",DISPATCH_QUEUE_SERIAL);

//2.封装任务

dispatch_sync(queue, ^{

NSLog(@"download1----%@",[NSThreadcurrentThread]);

});dispatch_sync(queue, ^{

NSLog(@"download2----%@",[NSThreadcurrentThread]);

});

dispatch_sync(queue, ^{

NSLog(@"download3----%@",[NSThreadcurrentThread]);

});

//获得全局并发队列

/*

第一个参数:优先级

第二个参数:

*/

dispatch_queue_tqueue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);

相关文章

  • iOS实录16:GCD使用小结(二)

    iOS实录16:GCD使用小结(二) iOS实录16:GCD使用小结(二)

  • 多线程和AFN网络框架配合使用

    ios的多线程一般有NSOperation和GCD.NSOperation基本使用: GCD基本使用: 简单的多线...

  • iOS GCD基本使用(二)

    //异步函数+并发队列会开启多条线程,异步执行- (void)asyncConcurrent{//1.创建队列//...

  • 无标题文章

    iOS 缓存 快速集成环信 技术文档 Masonry简单使用 MJExtension简单使用 GCD基本使用 gi...

  • iOS GCD的基本使用

    GCD在iOS中多线程开发中使用频繁,使用方便简单,可以满足我们大部分需求。其使用方法如下: 1、基本认识 GCD...

  • # GCD基本使用

    GCD基本使用 GCD是iOS开发中常用的一种线程使用方法,相比NSThread来说,代码更加的底层一点,用了Bl...

  • iOS GCD 的基本使用

  • iOS GCD基本使用(一)

    GCD会自动管理线程的生命周期(创建线程,调度任务,销毁线程)主要是为多核的并行操作应运而生。 两大概念:任务和概...

  • GCD的简单使用

    一. GCD基本知识 两个核心概念 队列和任务 同步函数和异步函数 二. GCD基本使用 异步函数+并发队列 : ...

  • D30:Block, GCD方式实现多线程

    一. block实现反向传值 二. block封装下载类型 三. GCD基本概念GCD是iOS4之后的技术, 是基...

网友评论

    本文标题:iOS GCD基本使用(二)

    本文链接:https://www.haomeiwen.com/subject/vpmlfxtx.html