虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > IOS编程/Objective-C > iOS NSThread和NSOperation的基本使用详解

iOS NSThread和NSOperation的基本使用详解
类别:IOS编程/Objective-C   作者:码皇   来源:互联网   点击:

下面小编就为大家分享一篇iOS NSThread和NSOperation的基本使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

NSThread适合简单的耗时任务的执行,它有两种执行方法

    - (void)oneClick{
    [NSThread detachNewThreadSelector:@selector(doSomething:) toTarget:self withObject:@"oneClick"];
    }
    -(void)doSomething:(NSString*) str{
    NSLog(@"%@",str);
    }
    - (void)twoClick{
    NSThread* myThread = [[NSThread alloc] initWithTarget:self selector:@selector(doSomething:) object:@"twoClick"];
    [myThread start];
    }

NSOperation适合需要复杂的线程调度的方法,然后它默认是使用主线程不会创建子线程

    - (void)threeClick{
    // 1.创建NSInvocationOperation对象 NSInvocationOperation *op = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(run) object:nil];
    // 2.调用start方法开始执行操作 [op start];
    }
    - (void)run{
    NSLog(@"------%@", [NSThread currentThread]);
    }
    - (void)fourClick{
    NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock:^{
    // 在主线程 NSLog(@"1------%@", [NSThread currentThread]);
    }
    ];
    // 添加额外的任务(在子线程执行) [op addExecutionBlock:^{
    NSLog(@"2------%@", [NSThread currentThread]);
    }
    ];
    [op addExecutionBlock:^{
    NSLog(@"3------%@", [NSThread currentThread]);
    }
    ];
    [op addExecutionBlock:^{
    NSLog(@"4------%@", [NSThread currentThread]);
    }
    ];
    [op start];
    }

以上这篇iOS NSThread和NSOperation的基本使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • IOS多线程编程NSThread的使用方法
  • iOS多线程开发——NSThread浅析
  • Objective-C的NSOperation多线程类基本使用指南
  • iOS多线程应用开发中使用NSOperation类的基本方法
相关热词搜索: iOS NSThread NSOperation