Runloop

2018-07-24  本文已影响14人  动物园园长熊熊酱

1.解释

运行循环是与线程关联的基础结构的一部分。运行循环是一个事件处理循环,用于调度工作并协调接收传入事件。

2.目的

在有工作要做的时候让线程保持忙碌,在没有工作的时候让线程休眠。

3.管理

运行循环管理不是完全自动的。您仍然必须设计线程的代码,以便在适当的时间启动运行循环并响应传入的事件。Cocoa和Core Foundation都提供运行循环对象来帮助您配置和管理线程的运行循环。应用程序不需要显式地创建这些对象;每个线程(包括应用程序的主线程)都有一个关联的运行循环对象。但是,只有辅助线程需要显式地运行它们的运行循环。作为应用程序启动过程的一部分,应用程序框架自动设置并运行主线程上的运行循环。

4.作用

5.接收事件

运行循环从两种不同类型的源接收事件。

6.Run Loop Modes

Run loop modes 是要监视的输入源和计时器的集合,以及要通知的运行循环观察器的集合。每次运行运行循环时,都指定(显式或隐式)运行的特定“模式”。在运行循环的传递过程中,仅监视与该模式关联的源并允许其传递其事件。(类似地,只有与该模式相关联的观察者被通知运行循环的进度。)与其他模式相关联的源保持任何新事件,直到后续以适当模式通过循环。
公开的mode有两个,分别是NSDefaultRunLoopMode和NSRunLoopCommonModes。

上一篇 下一篇

猜你喜欢

热点阅读