我想更詳細地瞭解iOS上的多線程。我通過一些像NSThread,NSRunLoop,NSTask類引用的去.. 首先作爲下面的鏈接上顯示:一個Thread內 use of runloop Runloop運行。 那麼爲什麼我們需要在我們的應用程序中定義我們自己的Runloop?在NSThread的情況下,這很有用,因爲一些耗時的進程可以在單獨的線程中運行,以便應用程序在主線程上仍能夠響應。
我試圖使用Grand Central Dispatch and unit testing,Pattern for unit testing async queue that calls main queue on completion中描述的模式,主要在:https://github.com/AFNetworking/AFNetworking/issues/466#issuecomment-791
我目前在Mac OS X應用程序中使用蘋果公司的SimplePing在傳輸數據之前ping一個URL,這工作正常,但鎖定我的用戶界面。我可能沒有在正確的地方尋找,但我怎樣才能避免這種情況發生?我目前正在使用currentRunLoop,我認爲這是問題所在,但我仍然希望用戶能夠在此操作期間與UI進行交互(例如取消)。如何爲Simple Ping創建運行循環,以便我的UI不鎖定? SimplePing