Runloop的基本作用:
1:保持程序的持续运行
2:处理App中的各种事件(触摸事件、定时器事件)
3:节省CPU资源,提高程序性能。
Runloop和线程的关系:
1:每条线程都有唯一与之对应的Runloop对象。
2: Runloop保存在一个全局的Dictionary中,线程作为key,Runloop作为value。
3:线程刚创建时并没有Runloop对象,Runloop会在第一次获取时创建[NSRunLoop currentRunLoop]。
4: Runloop会在线程结束时销毁。
5:主线程的Runloop已经自动创建,子线程默认没有开启Runloop。
NSRunLoop *runLoop = [NSRunLoop currentRunLoop]; //获取当前线程的RunLoop对象
NSRunLoop *mainRunLoop = [NSRunLoop mainRunLoop]; //获取主线程的RunLoop对象







网友评论