UI可以从辅助线程运行吗?

时间:2013-03-29 03:56:44

标签: multithreading cocoa

我正在开发一个程序,它会为了自己的目的垄断主线程。有条件地,这个程序可能需要产生Cocoa窗口。但是,因为主线程不会运行事件循环(或者至少不是NSRunLoop),所以我想知道我是否能够从辅助线程运行带有NSRunLoop的UI。

我知道在Windows上可以使用相同的功能,但是从文档中可以看出这是否可以在Mac OS上运行,如果可能的话,根本不会这样做。

首先,主线程必须调用NSApplicationMain

1 个答案:

答案 0 :(得分:2)

没有。 UI需要位于主线程上。您可以使用NSOperation或其他方法在后台执行操作,并更新UI正在执行performSelectorOnMainThread UI itsel依赖于应用程序运行循环。