run loop是事件处理循环,就是循环地接受各种各样的事件。run loop是oc用来管理线程里异步事件的工具。一个线程通过run loop可以监听多个事件源(用户输入input source,定时器timer,网络请求connection等等),当没有任何事件发生时run loop置线程于休眠状态,当事件到达时run loop唤醒线程处理这些事件。
系统会给每个线程(包过mainthread)关联一个run loop对象,所以我们不需要手动的为每个线程创建run loop对象。
iOS程序在启动的时候,系统会自动启动main thread的run loop对象。其他线程的run loop对象并不会被系统自动运行,需要你在合适的时候手动的start来启动。
原文:http://www.cnblogs.com/shuigu/p/6351302.html