主事件循环和应用程序运行循环之间有什么区别?

时间:2015-12-29 02:08:21

标签: ios objective-c event-loop runloop

我试图找到互联网上这两个循环之间的区别,但我没有找到任何。我读过他们解释的一些文章,两者都是一样的。我被问到他们之间的区别是什么,我已经说过了arictles中的内容。采访者说两者都不一样。那么请帮助我们有什么不同。任何形式的帮助表示赞赏。

3 个答案:

答案 0 :(得分:2)

运行循环(NSRunLoopCFRunLoop)是一个事件循环。应用程序的主线程运行一个运行循环;这是应用程序的主要事件循环。大多数应用程序都没有其他运行循环(至少没有一个作为iOS SDK的用户可见)。

如果面试官认为iOS上的事件循环和运行循环之间存在差异,那么您必须问问他们的意思,因为根据Apple的文档,它们是相同的的事情。

https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/MainEventLoop.html

答案 1 :(得分:0)

对于每个应用程序,它应该只有一个主要事件循环位于主线程内。

我不确定面试官的意见中应用程序的运行循环是什么。但是run loop实际上是一个与线程绑定的概念。 Each NSThread object, including the application’s main thread, has an NSRunLoop object automatically created for it as needed.https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSRunLoop_Class/index.html#//apple_ref/doc/uid/TP40003725

中说Vehicles

答案 2 :(得分:0)

我猜主循环是一种事件循环。

有两个数字 https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html (图2-1和图2-2)

图2-1显示事件循环是一些循环运行作为控制器的一部分,图2-2显示主运行循环是iOS用于管理事件的循环。

抱歉我的英语不好。