1、创建一个按钮
- (IBAction)buttonClicked:(id)sender {
NSLog(@"main =%@",[NSThread mainThread]);
// [self createThread1];
[self createThread2];
// [self createThread3];
}
-(void)createThread3 {
//开启后台线程
[self performSelectorInBackground:@selector(run:) withObject:@"back"];
}
-(void)createThread2{
[NSThread detachNewThreadSelector:@selector(run:) toTarget:self withObject:@"miss"];
}
-(void)createThread1{
//创建一个线程
NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(run:) object:@"abc"];
thread.name = @"myThread";
//启动线程
[thread start];
}
-(void)run:(id)obj {
NSLog(@"----run----%@--%@",[NSThread currentThread], obj);
//线程休眠
//第一种方法
[NSThread sleepForTimeInterval:3];
//第二种方法
// [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:3]];
//或者不再执行 distantFuture(遥远的未来)
// [NSThread sleepUntilDate:[NSDate distantFuture]];
//强制退出线程
for (int i = 0; i <1000000; i++) {
NSLog(@"--%d--",i);
if(i == 100) {
//线程退出
[NSThread exit];
}
}
}