#import "HMViewController.h" @interface HMViewController ()
@property (nonatomic, strong) NSThread *thread;
@end @implementation HMViewController - (void)viewDidLoad
{
[super viewDidLoad]; self.thread = [[NSThread alloc] initWithTarget:self selector:@selector(download) object:nil];
// Do any additional setup after loading the view, typically from a nib.
} - (void)download
{
NSLog(@"-----begin"); // 睡眠5秒钟 睡眠是用来阻塞线程的,这样一写,线程会睡眠5秒以后再执行下面的语句
// [NSThread sleepForTimeInterval:5]; // 3秒后的时间 从现在开始睡到3秒后 也就是3秒后开始执行
// NSDate *date = [NSDate dateWithTimeIntervalSinceNow:3];
// [NSThread sleepUntilDate:date]; for (int i = ; i<; i++) {
NSLog(@"------%d", i);
// return; 直接写一个return可以直接强制停止线程 让线程停止执行 // if (i == 49) {
// [NSThread exit]; 这个也是强制停止线程
// }
} NSLog(@"-----end");
} - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// [self.thread start]; //创建线程
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(download) object:nil]; //启动线程
[thread start]; //线程执行完毕就会进入死亡状态,不用我们管,这里线程执行完end线程就没了 //一旦线程停止(死亡了),就不能再次开启线程 //一条线程只能使用一次
} @end