1 #import "HMViewController.h" 2 3 @interface HMViewController () 4 @property (nonatomic, strong) NSThread *thread; 5 @end 6 7 @implementation HMViewController 8 9 - (void)viewDidLoad10 {11 [super viewDidLoad];12 13 self.thread = [[NSThread alloc] initWithTarget:self selector:@selector(download) object:nil];14 // Do any additional setup after loading the view, typically from a nib.15 }16 17 - (void)download18 {19 NSLog(@"-----begin");20 21 // 睡眠5秒钟 睡眠是用来阻塞线程的,这样一写,线程会睡眠5秒以后再执行下面的语句22 // [NSThread sleepForTimeInterval:5];23 24 // 3秒后的时间 从现在开始睡到3秒后 也就是3秒后开始执行25 // NSDate *date = [NSDate dateWithTimeIntervalSinceNow:3];26 // [NSThread sleepUntilDate:date];27 28 for (int i = 0; i<100; i++) {29 NSLog(@"------%d", i);30 // return; 直接写一个return可以直接强制停止线程 让线程停止执行31 32 // if (i == 49) {33 // [NSThread exit]; 这个也是强制停止线程34 // }35 }36 37 38 NSLog(@"-----end");39 }40 41 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event42 {43 // [self.thread start];44 45 //创建线程46 NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(download) object:nil];47 48 //启动线程49 [thread start];50 51 //线程执行完毕就会进入死亡状态,不用我们管,这里线程执行完end线程就没了52 53 //一旦线程停止(死亡了),就不能再次开启线程54 55 //一条线程只能使用一次56 }57 58 @end