Run Loops
每个线程都有一个或多个
run loop。然而每个
run loop
和每个线程都有它自己
的输入模式来决定 run loop 运行的释放监听那些输入源。输入模式定义在一个 runloop 上面,不会影响定义在其他 run loop 的输入模式,即使它们的名字相同。
如果你的线程是基于 Application Kti 的话,主线程的 run loop 会自动运行,但是辅助线程(和只有 Foundation 的应用)必须自己启动它们的 run loop。如果一个脱离线程没有进入 run loop,那么线程在完成它们的方法执行后会立即退出。
尽管外表显式可能是线程安全的,但是 NSRunLoop 类是非线程安全的。你只能在拥有它们的线程里面调用它实例的方法。
本文深入探讨了RunLoop的工作机制,解释了每个线程如何通过RunLoop管理输入源并保持活跃状态。文章详细介绍了RunLoop的输入模式及其如何独立于其他RunLoop运行,同时强调了主线程与辅助线程在RunLoop自动运行方面的区别。
466

被折叠的 条评论
为什么被折叠?



