iOS开发iOS Developer程序员

线程基础(NSThread)

2016-12-30  本文已影响35人  追逐_chase

创建线程

对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用。产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用。

-初始化主线程的方法
 //类方法
  [NSThread detachNewThreadSelector:@selector(方法) toTarget:self withObject:@"对象"];  
 //实例可以拿到线程对象,方便以后终止线程
 NSThread *thread = [[XMGThread alloc] initWithTarget:self selector:@selector(run:) object:@"jack"];
-隐式调用---线程之间的通信

一般是通过NSObject的Category方法调用,方法如下:

 //在主线程中运行方法,wait表示是否阻塞这个方法的调用,如果为YES则等待主线程中运行方法结束。一般可用于在子线程中调用UI方法
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;
//在指定线程中执行,但该线程必须具备run loop。
- (void)performSelector:(SEL)aSelector onThread:(NSThread *)thr withObject:(id)arg waitUntilDone:(BOOL)wait;
//隐含产生新线程。
- (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg;
-NSThread方法中一些常用的方法

上一篇下一篇

猜你喜欢

热点阅读