在NSApplicationMain的文档中,它说:
创建应用程序,从应用程序的主包中加载主 nib 文件,然后运行应用程序。您必须从应用程序的主线程调用此函数 [...]。
“主线程”显然是指程序的第一个线程,从哪里main(argc, argv)
开始。快速浏览NSThread文档会发现+ (BOOL)isMainThread
,它可用于确定当前线程是否是“主”线程。我进行了一些测试:无论是否NSApplicationMain
已调用,此方法都有效。
我的问题有两个(有些相关)部分:
- 主线程有什么特别之处
NSApplicationMain
? - Cocoa 首先是如何识别主线程的?