#import "ViewController.h"
@interface ViewController ()
@property (nonatomic, strong) NSThread *thread;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 可调度线程池:CPU可以调度线程的地方(CPU只调度可调度线程池中的线程)
//
//
// 线程状态 --- 线程的生命周期
// 创建一个线程对象 : 新建
// NSThread *thread = [[NSThread alloc] init];
// 线程准备就绪 : 就绪
// [thread start];
// 新建
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(longTimeOperation) object:nil];
self.thread = thread;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// 新建
// NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(longTimeOperation) object:nil];
// 就绪
[self.thread start];
}
- (void)longTimeOperation
{
for (int i = 0; i < 100; ++i) {
NSLog(@"-----%d,%@",i,[NSThread currentThread]);
if (i == 40) {
NSLog(@"睡一会(阻塞状态)");
[NSThread sleepForTimeInterval:3];
}
if (i == 80) { // 强制退出线程
NSLog(@"强制退出线程");
[NSThread exit];
}
}
}