NSRunLoop(1)官方文档

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方法时,线程退出。

你可能感兴趣的:(线程,管理,文档)