iOS多线程开发小demo3,线程的状态

//  Created by dyf on 14-6-23.
//  Copyright (c) 2014年 ___FULLUSERNAME___. All rights reserved.
//

#import "DYFViewController.h"

@interface DYFViewController ()
@property (nonatomic, strong) NSThread *thread;
@end

@implementation DYFViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    self.thread = [[NSThread alloc] initWithTarget:self selector:@selector(test) object:@"111"];
    self.thread.name = @"1111111111";
}

- (void)test {
    //
    NSLog(@"startedtest------%@", [[NSThread currentThread] name]);
    
//    // 阻塞状态2
//    NSDate *date = [NSDate dateWithTimeIntervalSinceNow:5.0];
//    [NSThread sleepUntilDate:date];
    
//    // 阻塞状态1
//    [NSThread sleepForTimeInterval:5.0];
    
    for (int i = 0; i < 999; i++) {
        NSLog(@"test-----%d------%@", i, [[NSThread currentThread] name]);
        
        if (i == 50) {
            [NSThread exit];
        }
    }
    
    NSLog(@"endedtest------%@", [[NSThread currentThread] name]);

}

#warning 点击2次屏幕会出现 ‘NSInvalidArgumentException‘, reason: ‘*** -[NSThread start]: attempt to start the thread again‘,调用已经死的线程会报错
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // 开启线程
    [self.thread start];
}


@end

 小结:线程的状态大概有5种

新建 就绪  运行  阻塞  死亡

iOS多线程开发小demo3,线程的状态,布布扣,bubuko.com

iOS多线程开发小demo3,线程的状态

上一篇:(转载)如何清理看不见的占用GPU的进程


下一篇:任务驱动,Winform VS WEB对比式学习.NET开发系列第一篇------身份证解析(不断更新的WEB版本及Winform版本源码)