IOS 线程的一些理解与使用

好处
1)使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频下载
2)发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好
缺点
1)大量的程序降低代码的可读性
2)更多的线程需要更多的空间
3)当多个线程对同一个资源出现争夺的时候需要注意线程安全问题
线程使用:
1)NSThread(两种创建方式)

[NSThread detachNewThreadSelector:@selector(threadBegin:) toTarget:self withObject:@1];

NSThread *thread1 = [[NSThread alloc] initWithTarget:self selector:@selector(threadBegin:) object:@1];

[thread1 start];

2)NSOperationQueue

    __weak typeof(self) weakSelf = self;

    [[NSOperationQueue new] addOperationWithBlock:^{

        [weakSelf threadBegin:@1];

    }];

    

    NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock:^{

        [weakSelf threadBegin:@2];

    }];

    [op addExecutionBlock:^{

        [weakSelf threadBegin:@3];

    }];

    [op addExecutionBlock:^{

        [NSThread sleepForTimeInterval:1];

        [weakSelf threadBegin:@4];

    }];

    [op addExecutionBlock:^{

        [weakSelf threadBegin:@6];

    }];

    [op start];

3)GCD

 dispatch_async(dispatch_get_global_queue(0, 0), ^{ //异步

 [weakSelf threadBegin:@1];

 });

 

 dispatch_group_t group = dispatch_group_create(); // 异步组合

 dispatch_queue_t queue = dispatch_get_global_queue(0, 0);

 dispatch_group_async(group, queue, ^{

 [weakSelf threadBegin:@2];

 });

 dispatch_group_async(group, queue, ^{

 [weakSelf threadBegin:@3];

 });

 dispatch_group_notify(group, queue, ^{

 [weakSelf threadBegin:@4];

 });

 

 // 异步延时

 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_global_queue(0, 0), ^{

 [weakSelf threadBegin:@5];

 });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 线程、进程 1.iOS中的多线程操作、多线程方式? 2.多线程的优点和缺点分别是什么? 答:优点:1、将耗时较长的...
    丶逐渐阅读 5,212评论 0 8
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,778评论 0 17
  • 多线程 在iOS开发中为提高程序的运行效率会将比较耗时的操作放在子线程中执行,iOS系统进程默认启动一个主线程,用...
    郭豪豪阅读 7,391评论 0 4
  • 当我们在谈论机遇,我们在谈论什么? 我们村有个学生杨明(化名)在沿中读高三,这次搞化学竞赛的时候痛失全省第一名,被...
    杨浪江阅读 3,725评论 0 0
  • 之前看自控力,因为想尽快跟上大部队的脚步,书中的内容就是读了十分八九。而且族长极力推荐这本书,之前就有过想再读一遍...
    一颗有趣的豆阅读 858评论 0 0