一.什么是Runloop?为什么需要Runloop? Runloop,顾名思义,即运行循环. 没有Runloop的情况下,一个线程执行完一个任务,就会退出并销毁.等到需要处理下一个任务时,再重新创建一个线程. 1.当任务小而多时,频繁地创建和销毁线程,会带来不小的代价. 2.主线程要是退出了,整个iOS/OSX应用就挂了. 因此,需要一种能让线程不退出.有任务时可以及时处理.没任务时又可以不占用CPU的机制.这种机制就是event loop,Runloop是event loop在iOS/OSX中…