iOS NSRunloop的简单理解

    最近学习了下NSRunloop。 作一下简单的理解:

   1、runloop与线程的关系,每一个线程创建是都会有伴有一个runloop诞生,runloop用来接收事件源,让线程执行事件。当没有事件处理时,runloop处于退出状态,线程休眠。其中的事件源主要包括两大类,timer事件和inpute事件。inpute事件包括很多类型:performxxx,nsurlconnection,port,touch事件等。 (主线程创建的runloop不会停掉,会一直跑,有可能是空跑,但是一直在跑。其他线程的runloop需要代码手动跑起来。

  2、如果runloop没跑起来,将不能处理事件,线程休眠。 让runloop跑起来的方法 :

1 - (void)run

   不推荐用这种方法,跑起来就停不下了。

1 -(BOOL)runMode: date:

     运行runloop一次。 runloop成功处理事件后返回yes。 当事件源为timer时,runloop不返回,一直运行处理timer事件,你可以手动停止;

   3、再编辑中。。。。

原文地址:https://www.cnblogs.com/wangrui-techbolg/p/3277782.html