RunLoop : 运行循环
作用:
保证程序持续的运行,不然main函数结束,程序也就结束了。
处理各种APP事件(触摸 定时器 selector)
节省CPU资源,提高程序性能(工作时候工作,休息时候休息)
RunLoop与线程
一个线程对应一个RunLoop
主线程的RunLoop已经创建好了,子线程的RunLoop需要手动创建
RunLoop在第一次获取时候创建,结束时候销毁
RunLoop的获取
1、 Foundation:NSRunLoop
[NSRunLoop currentRunLoop];// 获得当前线程的RunLoop对象 [NSRunLoop mainRunLoop];// 获得主线程的RunLoop对象
2、 CoreFoundation:CFRunLoopRef
CFRunLoopGetCurrent();// 获得当前线程的RunLoop对象 CFRunLoopGetMain();// 获得主线程的RunLoop对象