iOS NSThread和NSOperation的基本使用详解

  

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

        - (void) oneClick {   [NSThread detachNewThreadSelector: @ selector (doSomething:) toTarget:自我withObject: @“oneClick”);   }   - (void) doSomething (NSString *): str {   NSLog (@ % @, str);   }   - (void) twoClick {   NSThread * myThread=[[NSThread alloc] initWithTarget:自我   选择器:@ selector (doSomething:)   对象:@“twoClick”);   (myThread开始);   }      

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

        - (void) threeClick {//1 .创建NSInvocationOperation对象   NSInvocationOperation * op=[[NSInvocationOperation alloc] initWithTarget:自我选择器:@ selector(运行)对象:nil);//2 .调用开始方法开始执行操作   (op开始);   }   - (void)运行   {   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开始);      }      

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

iOS NSThread和NSOperation的基本使用详解