首页 > 代码库 > NSThread的一些细节
NSThread的一些细节
1.NSThread创建方式(一个NSThread对象就代表一条线程)
1.1>创建\启动线程
(1)线程一启动,就会在thread中执行self的run方法
NSTread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
[thread start];
(2)创建线程后自动启动线程
[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];
(3)隐式创建并启动线程
[self performSelectorInBackground:@selector(run) withObject:nil];
//(2),(3)两种创建线程方式,优点是简单快捷,缺点是无法对线程进行更详细的设置
1.2>主线程的相关用法
+(NSThread *)mainThread; //获得主线程
(BOOL)isMainThread; //是否为主线程
(BOOL)isMainThread;//是否为主线程(类方法)
1.3>其他用法
NSThread *current = [NSThread currentThread]; //获得当前线程
线程的调度优先级
(double) threadPriority;
(BOOL)setThreadPriority:(double)p;
//调度优先级的取值范围是0.0 ~ 1.0,默认是0.5,值越大,优先级越高
线程的名字:
-(void)setName:(NSString *)name;
-(NSString *)name;