iOS进阶必须学习的知识点之——Runloop

何为Runloop 

最初时候,Runloop在我的概念中是这样的:每个线程中都至少包含一个Runloop,Runloop是线程相关基础框架的一部分,它是用来调度工作以及处理输入时间的。还有就是,每个Runloop都运行在一种模式(Mode)上,具体是怎么回事?我们来一起探究一下:

  • 从字面意义讲就是:运行循环,更准确地来说,它是一个死循环!用来保证程序的运行状态;
  • 它的内部是do-while循环,在这个循环中不断地处理各种任务;
  • 一个线程对应一个Runloop,主线程的Runloop默认已经开启,不需要我们手动开启,而分线程中的Runloop默认是没开启的,需要我们手动开启([[NSRunloop currentRunloop] run]);
  • 一个Runloop只能选择一个Mode来启动,如果当前的Mode中没有Source、Timer时,那么就退出循环进入休眠状态来节省CPU;
  • Runloop的基本作用就是保持程序的持续运行,处理APP中的各种事件。通过Runloop,有事件就处理,没事件就睡眠,进而节省CPU资源,提高程序性能


    博主正在设计版面,未完待续!!!




你可能感兴趣的:(iOS进阶)