NSThread-4

NSThread-4_第1张图片

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

[self createThread1];

}

//第一种方法

-(void)createThread1{

//创建线程

//target :selector消息发送的对象

//selector:线程执行的方法,这个selector最多只能接收一个参数

//object : 传给selector的唯一参数,也可以是nil

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

//启动线程

[thread start];

}

//创建线程第二种方法

- (void)createThread2{

// 不能获得当前的线程

[NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:"rose"];

}

//第三种方法

- (void)createThread3{

[self performSelectorInBackground:@selector(run:) withObject:nil];

}

- (void)run:(NSString *)param{

for(NSInteger i = 0; i < 100000;i++){

NSLog(@"run------%@------%@",param,[NSThread currentThread].name);

}

}



NSThread-4_第2张图片

//下面两种线程的优点:简单快捷 缺点是:无法对线程进行更详细的设置

//创建线程后自动启动线程

[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil];

//隐式创建并启动线程

[self performSelectorInBackground:@selector(run) withObject:nil]

你可能感兴趣的:(NSThread-4)