您的位置:首页 > 运维架构

NSRunLoop(1)官方文档

2016-05-02 08:42 239 查看
Run Loops(官方文档)

(1)介绍:Run loops是与线程相关的基础部分,一个run loops是一个事件处理的循环,你可以使用它来安排工作以及用它来协调the receipt(收到) of incoming events。run loop的目的是当有工作时保持你的线程处于忙碌中,当没有工作时,使你的线程进入睡眠。

(2)使用,Run loop的管理不是完全自动的,你必须在合适的时机设计你的线程代码来开启run loop,以及响应即将发生的事件。Cocoa和Core Foundation提供了run loop对象帮助你配置和管理你的线程runloop。在app中你不需要明确的创建这些线程对象;每个线程(包括app的主线程)都与一个run loop对象相联系。只有从属的线程才需要在代码中明确的创建线程对象。然而,app的框架自动的设置了病在主线程上run这些线程了当app的某部分开启进程的时候。

runloop是一个循环,你的线程进入runloop并使用它去run event handlers 来响应传入的事件,你的代码提供了控制语句用于实现运行循环的一部分的实际的循环。RunLoop 接受2种不同的事件源,input sources (异步事件)和 timer sources(同步事件)

何时使用RunLoop?

1.使用ports或自定义输入源 与其他线程通讯

2.在线程中使用定时器

3.在程序中使用performSelector等方法

4.让线程周期性执行某个任务

(3)方法介绍

[NSThread detachNewThreadSelector:@selector(requestImagesThread) toTarget:self withObject:nil];

开一个新线程,使用requestImagesThread方法作为新线程的入口点,在这个线程执行期间toTarget和 withObject传入的参数被保留,然后释放,当toTarget的参数执行完这个requestImagesThread方法时,线程退出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  线程 管理 文档