美文网首页
什么是RunLoop

什么是RunLoop

作者: GryllsNSTimer | 来源:发表于2017-04-25 10:11 被阅读62次
    RunLoop

    RunLoop称为事件循环,可以理解为系统中对各种事件源不间断的循环的处理。应用在运行过程中会产生大量的系统和用户事件,包括定时器事件,用户交互事件(鼠标键盘触控板操作),模态窗口事件,各种系统Source事件,应用自定义的Source事件等等,每种事件都会存储到不同的FIFO先进先去的队列,等待事件循环依次处理。被RunLoop管理的线程在挂起时,不会占用系统的CPU资源,可以说RunLoop是非常高效的线程管理技术。

    RunLoop对象

    iOS中有2套API来访问和使用RunLoop

    • Foundation【NSRunloop】
    • Coro Foundation框架【CFRunloopRef】
      NSRunLoop和CFRunLoopRef都代表着RunLoop对象,它们是等价的,可以互相转换
      NSRunLoop是基于CFRunLoopRef的一层OC包装,所以要了解RunLoop内部结构,需要多研究CFRunLoopRef层面的API(Core Foundation层面)

    相关文章

      网友评论

          本文标题:什么是RunLoop

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