RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在.RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop.永远不要手动创建一个runloop,它是跟随着每个线程的.一个RunLoop接收两种source的事件:input source和timer source.同时必须知道的是,input source,runloop是异步交付的,而timer source是同步交付的.每个runloop都有一个RunLoop Modes,代表