美文网首页
iOS之Run Loop

iOS之Run Loop

作者: 牛程程 | 来源:发表于2017-12-17 22:42 被阅读0次

Run Loop是用于管理在线程上异步执行事件的基础方式。Run Loop用来监听线程的一个或多个事件源。当事件发生时,系统唤醒线程并且将事件分派给Run Loop,然后Run Loop将分派给程序员指定的处理程序。如果没有事件存在并且已准备好处理,则Run Loop将使线程进入休眠状态。

Run Loop可以创建使用最少量资源的长寿命线程。因为在没有任何事情的时候,一个Run Loop可以使其线程进入睡眠状态,所以不需要轮询,浪费了CPU周期,并且阻止了处理器本身的休眠和节能。

当想要配置Run Loop时,只需启动线程,获取对Run Loop对象的引用,安装事件处理程序,然后指示Run Loop运行。 OS X提供的基础结构自动处理主线程Run Loop的配置。但是,如果需要创建长寿命的辅助线程,则必须自行为这些线程配置运行循环。

     - (void)run; 
     - (BOOL)runMode:(NSRunLoopMode)mode beforeDate:(NSDate *)limitDate;
     - (void)runUntilDate:(NSDate *)limitDate;

实际上,Run Loop的上层对应就是NSTimer。NSTimer定时器的触发其实就是是基于RunLoop运行的。

相关文章

  • 详解Run Loop

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

  • iOS之Run Loop

    Run Loop是用于管理在线程上异步执行事件的基础方式。Run Loop用来监听线程的一个或多个事件源。当事件发...

  • iOS开发之Run loop

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

  • 如何手动唤醒RunLoop

    在iOS 中,除了source1可以自己唤醒run loop之外,其他的事件都需要用户手动唤醒run loop才可...

  • 备战2020——iOS面试题汇总!(栏目将持续更新)

    runloop 推荐相关文章 iOS 对于Run Loop的理解? 2019 iOS面试题-----RunLoop...

  • runloop

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

  • runloop阻塞线程的正确写法 & 子线程常驻后台

    转载自: iOS RunLoop 初识深入理解RunLoopiOS多线程编程指南(三)Run Loop 1.Run...

  • iOS Runloop学习笔记

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

  • iOS之Run Loop详解(转载)

    前言 不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,...

  • iOS run loop 详解

    一个应用开始运行以后放在那里,如果不对它进行任何操作,这个应用就像静止了一样,不会自发的有任何动作发生,但是如果我...

网友评论

      本文标题:iOS之Run Loop

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