您的位置:首页 > 移动开发 > IOS开发

iOS学习总结之多线程编程(NSThread)-线程的状态

2015-08-30 22:16 465 查看
终止子线程(3种方式)

1、线程执行体方法结束
线程正常结束

2、线程执行过程出现了错误

3、直接调用NSThread类的exit方法来终止当前正在执行的线程

子线程启动和主线程拥有相同的地位

测试某个线程是否正在运行
可以调用线程对象的isExecuting(正在执行
返回YES)、isFinished(线程执行完成
返回YES)方法

- (void)viewDidLoad {
[super viewDidLoad];
//    创建新线程对象
thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
//    启动新线程
[thread start];

}

- (void)run{
for (int i = 0; i < 30; i ++) {
if ([NSThread currentThread].isCancelled) {
//终止当前正在执行的线程
[NSThread exit];
}

NSLog(@"---%@---%i", [NSThread currentThread].name, i);
//每一次执行 线程暂停0.5秒
[NSThread sleepForTimeInterval:0.5];
}
}

- (IBAction)cancelThread:(id)sender {
//取消thread线程 调用该方法后 threaad的isCancelled方法将会返回NO
[thread cancel];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: