簡體   English   中英

主事件循環和應用程序的運行循環有什么區別?

[英]What's the difference between main event loop and app's run loop?

我試圖找到互聯網上這兩個循環之間的區別,但沒有找到任何區別。 我讀過一些文章,它們以相同的方式解釋。 有人問我它們之間有什么區別,我說過在那兒。 采訪者說兩者都不一樣。 所以請幫我有什么區別。 任何幫助都將受到贊賞。

運行循環( NSRunLoopCFRunLoop )是一個事件循環。 該應用程序的主線程運行一個運行循環; 這是應用程序的主事件循環。 大多數應用程序沒有另一個運行循環(作為iOS SDK用戶,您至少看不到一個運行循環)。

如果采訪者認為iOS上的事件循環和運行循環之間存在差異,則必須詢問他們的含義,因為根據Apple的文檔,它們是同一回事。

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

對於每個應用程序,它應僅在主線程內具有一個主事件循環。

我不確定面試官認為應用程序的運行循環是什么。 但是運行循環實際上是與線程綁定的概念。 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中

我猜主運行循環是一種事件循環。

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html中有兩個數字(圖2-1和圖2-2)

圖2-1顯示了事件循環是作為控制器一部分的某些循環運行,圖2-2顯示了主要運行循環是iOS用於管理事件的循環。

對不起,我的英語不好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM