<强> 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的基本使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。