// 详细资料相关说明 http://www.dreamingwish.com/dream-2012/ios-multithread-program-runloop-the.html
/********NSRunloop的基本感念********/
Run loops 是线程相关的基础框架的一部分。一个run loop就是一个时间处理的循环,用来不停地调度工作以及处理输入事件。
线程的生命周期存在五个状态:新建、就绪、运行、阻塞、死亡。
NSRunloop 可以保持一个线程一直为活动状态,不会马上销毁掉。
/********定时器在多线程的使用********/
// 在多线程中使用定时器必须开启Runloop,因为只有开启Runloop保持线程为活动状态,才能保持定时器不断执行。
// 实例:
- (void)runThread {
// 创建自动释放池
NSAutoreleasePool *pool = [[nsautoreleasePool alloc]init];
// 创建定时器
[NSTimer scheduledTimerWithTimeInterval:1
target:self
@selector:(timeAction)
userInfo:nil
repeats:YES];
// 开启Runloop来使线程保持存活状态
[[NSRunloop currentRunloop] run];
[pool release];
}