Runloop是什么时候创建的

Runloop处理事件循环,让线程随时处理事情不退出
主线程对应的runloop程序启动时默认创建好了.

线程和RunLoop并不是包含的关系,而是对应的关系。线程创建时,对应的RunLoop如果不调用暂时不创建(它可以对应RunLoop,但是默认并不提前创建出来,除非你需要在子线程中使用RunLoop,再手动调用下面方法获取:
CFRunLoopGetCurrent() 或 [NSRunLoop currentRunLoop];
这里注意,获取方法内部进行了判断,如果此时没有runloop,会自动帮你创建一个(主线程对应的Runloop除外,主线程对应的runloop程序启动时默认创建好了)。线程销毁时,对应的RunLoop也跟着销毁。

你可能感兴趣的:(面试[)