NSRunloop-基本概念

 //  详细资料相关说明    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];
}

 

posted @ 2013-11-01 10:09  needly  阅读(201)  评论(0编辑  收藏  举报