NSThread 基本使用

一、简介

(1)使用NSThread对象建立一个线程非常方便
(2)但是!要使用NSThread管理多个线程非常困难,不推荐使用
(3)技巧!使用[NSThreadcurrentThread]跟踪任务所在线程,适用于这三种技术

(4)一个NSThread对象就代表一条线程

二、创建和启动线程简单说明

创建、启动线程

     NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];

     [thread start];                  // 线程一启动,就会在线程thread中执行self的run方法

主线程相关用法

     + (NSThread *)mainThread; // 获得主线程

     - (BOOL)isMainThread; // 是否为主线程

     + (BOOL)isMainThread; // 是否为主线程

 

其他用法获得当前线程

      NSThread *current = [NSThread currentThread];

线程的调度优先级:调度优先级的取值范围是0.0 ~ 1.0,默认0.5,值越大,优先级越高

     + (double)threadPriority;

     + (BOOL)setThreadPriority:(double)p;

设置线程的名字

     - (void)setName:(NSString *)n;

     - (NSString *)name;

其他创建线程的方式

     创建线程后自动启动线程   [NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

      隐式创建并启动线程  [self performSelectorInBackground:@selector(run) withObject:nil];

原文地址:https://www.cnblogs.com/hepingqingfeng/p/5457754.html