Run Loop的介绍
2018-06-04 本文已影响11人
春风依旧
前言:
Run loop和它的名字一样,运行循环;可以保证程序的持续运行,它的本质是一个do-while的死循环。深入了解RunLoop可以让我们更好的使用多线程
Run Loop
Run Loop作用:
1、保证程序(线程)的持续运行
2、处理App中的各种事件(比如触摸事件、定时器事件、Selector事件)
3、节省CPU资源,提高程序的性能:该做事时做事,该休息时休息
4、调用解耦(Message Queue)
没有Run Loop情况:
在没有Runloop的情况下,程序不能保持持续的运行,在执行完任务时就会自动退出.
模拟Run Loop:
前面说过,RunLoop是一个运行循环,在执行完任务的后进入下一个循环在此执行任务.

分析项目中的Main函数:

获取Run Loop对象

RunLoop与线程的关系:
1、每条线程都有唯一的一个与之对应的RunLoop对象
2、主线程的RunLoop已经自动创建好了,子线程的Runloop需要主动创建
3、RunLoop在第一次获取时创建,在线程结束时销毁
