美文网首页
Martin总结:RunLoop

Martin总结:RunLoop

作者: Z_Han | 来源:发表于2016-08-06 21:24 被阅读79次

标题由Martin开头的文章,均由Martin_Joy总结,再次感谢Martin童鞋!

前言

因为最近一直在准备校招,阅读了很多相关的书籍及blog,因为自己没有形成清晰的知识结构,导致越看越乱。无意中和朋友Martin_Joy聊起此事,发现他梳理的知识结构非常清晰,征得Martin的同意后,决定发上来,方便学习之用。由此可见,Martin童鞋是个非常乐于分享的人。在此,表示对他深深的感谢,也希望Martin在iOS开发的道路上越走越远。

runloop基本概念

runloop可以看成和线程是一对一的关系,但是runloop可以进行嵌套。runloop主要用来处理各种事件,能够节省CPU资源,在需要处理的时候唤醒,空闲的时候休眠。

猜想内部实现

   function loop() {
       initialize();
       do {
           var message = get_next_message();
           process_message(message);
       } while (message != quit);
   }

唤醒和休眠

线程休眠前,指定用于唤醒我的mach_port,然后去休眠后,系统内核会将线程挂起,处于mach_msg_trap()状态,当其他线程(比如有一个进程在后面控制用户输入,一直在跑)向内核发送mach_msg的时候,内核去mach_port唤醒休眠的线程,休眠线程的trap状态被唤醒,runloop继续干活

实际运用

拓展阅读

相关文章

  • Martin总结:RunLoop

    标题由Martin开头的文章,均由Martin_Joy总结,再次感谢Martin童鞋! 前言 因为最近一直在准备校...

  • RunLoop

    RunLoop 文章已经很多了,结合各大文章做个总结 什么是 RunLoop RunLoop 人如其名,run 跑...

  • iOS RunLoop 总结以及相关面试题解答

    iOS RunLoop 总结以及相关面试题解答 iOS RunLoop 总结以及相关面试题解答

  • NSRunLoop

    【iOS程序启动与运转】- RunLoop个人小结 RunLoop总结:RunLoop的应用场景(三) 走进Run...

  • iOS开发经验(18)-Runloop

    目录 Runloop RunLoop 与线程 个人理解总结 应用场景 1. 什么是RunLoop 基本作用 保持程...

  • 探寻RunLoop的本质

    iOS底层原理总结 - RunLoop 面试题 讲讲 RunLoop,项目中有用到吗? RunLoop内部实现逻辑...

  • iOS面试点文章链接

    runtime基础方法、用法、消息转发、super: runtime 完整总结 runloop源码、runloop...

  • RunLoop数据结构、RunLoop的实现机制、RunLoop

    推荐阅读:备战2020——iOS全新面试题总结 RunLoop概念 RunLoop的数据结构 RunLoop的Mo...

  • RunLoop

    iOS刨根问底-深入理解RunLoop runloop 和线程有什么关系 iOS 多线程:RunLoop详细总结

  • RunLoop 的相关概念

    此篇为对 RunLoop 的相关概念的总结,主要介绍 RunLoop 的一些概念 RunLoop 简介 RunLo...

网友评论

      本文标题:Martin总结:RunLoop

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