美文网首页
Run Loop的介绍

Run Loop的介绍

作者: 春风依旧 | 来源:发表于2018-06-04 14:08 被阅读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

相关文章

  • Run Loop介绍

    最近也是看到了很多Run Time / Loop 的东西 run 跑 loop 循环 -> 一直在运行着的循环 r...

  • Run Loop的介绍

    前言: Run loop和它的名字一样,运行循环;可以保证程序的持续运行,它的本质是一个do-while的死循环。...

  • runloop

    走进Run Loop的世界 (一):什么是Run Loop?走进Run Loop的世界 (二):如何配置Run L...

  • iOS Runloop学习笔记

    一、** what is run loop ** 1、A run loop is an abstraction t...

  • iOS开发之Run loop

    1.什么是Run loop,Run loop有什么作用? 2.Run loop 是怎么运作的? 3.什么情况下使用...

  • 详解Run Loop

    Run Loop Run Loop是事件驱动的。 iOS中有2套API来访问使用Run LoopFoundatio...

  • iOS Runloop(二)

    Run Loop观察者源是合适的同步或异步事件发生时触发,而run loop观察者则是在run loop本身运行的...

  • python asyncio并发编程(3)

    1. loop.run_forever()与loop.run_until_complete()的区别 (1) l...

  • IOS多线程编程指南二之Runloop

    一、什么是Runloop A run loop is an event processing loop that ...

  • CFRunLoop -- API

    获取 Run Loop 的方法 运行以及停止 Run Loop 的方法 管理 Sources 的方法 管理 Obs...

网友评论

      本文标题:Run Loop的介绍

      本文链接:https://www.haomeiwen.com/subject/mqbssftx.html