NSRunloop

1、NSRunLoop是IOS消息机制的处理模式

NSRunLoop的主要作用:控制NSRunloop里面的线程的执行和休眠,在有事情做得时候使当前NSRunloop控制的线程工作,没有事情做让当前NSRunloop的控制的线程休眠。

2、NSRunloop就是一直在循环检测,从线程start和到线程end,检测inputsource(如点击,双击等操作)同步事件,检测times source 同步事件,检测到输入源会执行处理函数,首先会产生通知,corefunction 向线程添加runloop observes来监听事件,意在监听事件发生来做处理。

3、runloopmode 是一个集合,包括监听:事件源,定时器,以及需通知的runloop observers。

RunLoop和线程的关系

1、主线程的runloop默认是启动的,用于接收各种输入sources

2、对第二个线程来说,runloop默认是没有启动的,如果你需要更多的线程交互则可以手动配置和启动,如果线程执行一个长时间已确定的任务则不需要。

3、让线程执行一个周期的任务,如果不启动runloop,线程跑完就可能被系统释放了

你可能感兴趣的:(NSRunloop)