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的情况下,程序不能保持持续的运行,在执行完任务时就会自动退出. 没有RunLoop.png
    模拟Run Loop:

前面说过,RunLoop是一个运行循环,在执行完任务的后进入下一个循环在此执行任务.


模拟运行循环.png
    分析项目中的Main函数:
main.png

获取Run Loop对象

获取RunLoop对象.png

RunLoop与线程的关系:

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

RunLoop于子线程的关系.png
上一篇 下一篇

猜你喜欢

热点阅读