美文网首页iOS传道
RunLoop的理解

RunLoop的理解

作者: 聆听者JYZ | 来源:发表于2017-03-02 10:05 被阅读11次

理解:

runloop是控制线程整个生命周期并接受事件进行处理的机制;是ios事件响应与任务处理最核心的机制,它贯穿整个ios系统

理解:进程是一家工厂,线程是一个流水线,Run Loop就是流水线上的主管;当工厂接到商家的订单分配给这个流水线时,Run Loop就启动这个流水线,让流水线动起来,生产产品;当产品生产完毕时,Run Loop就会暂时停下流水线,节约资源。

RunLoop管理流水线,流水线才不会因为无所事事被工厂销毁;而不需要流水线时,就会辞退RunLoop这个主管,即退出线程,把所有资源释放。

RunLoop并不是iOS平台的专属概念,在任何平台的多线程编程中,为控制线程的生命周期,接收处理异步消息都需要类似RunLoop的循环机制实现,Android的Looper就是类似的机制。

特性:

主线程的RunLoop在应用启动的时候就会自动创建

其他线程则需要在该线程下自己启动

不能自己创建RunLoop

RunLoop并不是线程安全的,所以需要避免在其他线程上调用当前线程的RunLoop

RunLoop负责管理autorelease pools

RunLoop负责处理消息事件,即输入源事件和计时器事件

2、RunLoop中的model 

  主要是用来指定事件在运行循环中的优先级的(一个几个模式之间是线性执行的,有先后顺序,但是项目中model是允许修改的,我们要向使不同模式之间的线程一块执行,只要修改两者的模式一样即可),分为:

NSDefaultRunLoopMode(kCFRunLoopDefaultMode):默认,空闲状态

UITrackingRunLoopMode:ScrollView滑动时

UIInitializationRunLoopMode:启动时

NSRunLoopCommonModes(kCFRunLoopCommonModes):Mode集合

苹果公开提供的Mode有两个:

NSDefaultRunLoopMode(kCFRunLoopDefaultMode)

NSRunLoopCommonModes(kCFRunLoopCommonModes)

3、用处:

相关文章

  • Runloop分析

    RunLoop 参考:深入理解RunLoop ibireme:《深入理解RunLoop》 Runloop 的概念 ...

  • NSRunLoop

    深入理解RunLoop RunLoop深度探究(一) RunLoop深度探究(二) RunLoop深度探究(三) ...

  • iOS知识点(10)RunLoop

    深入理解RunLoop iOS---实例化讲解RunLoop iOS runloop iOS-RunLoop充满灵...

  • iOS 各种技术点网址

    RunLoop 深入理解RunLoop(作者 :ibireme)iOS线下分享《RunLoop》by 孙源@sun...

  • Runloop 详解

    Runloop 详解 参考链接: 深入理解RunLoop CFRunLoop 概念 runloop :是管理和处理...

  • 深入理解runloop

    原文 深入理解runloop 深入理解RunLoop 由 ibireme | 2015-05-18 | iOS, ...

  • iOS 这是你想要的

    Runloop 相关 Runloop 保持线程能随时处理事件而不退出深入理解Runloop 线程和Runloop ...

  • iOS开发基础之Runloop

    文章内容来自:深入理解RunLoop 官方文档-Runloop Runloop概念 Runloop本身是一个对...

  • RunLoop学习笔记

    参考深入理解RunLoop深入研究 Runloop 与线程保活RunLoop分享by孙源 RunLoop的概念 R...

  • OC部分原理参考

    1.RunLoop 深入理解RunLoopRunLoop 视频RunLoop第一讲 视频RunLoop实战 视频 ...

网友评论

    本文标题:RunLoop的理解

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