runloop的实现机制
一个RunLoop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用RunLoop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。runloop的设计是为了减少cpu无谓的空转。RunLoop的使用场合:
1、使用端口或自定义输入源和其他线程通信;
2、子线程中使用了定时器;
3、Cocoa中使用任何performSelector到了线程中运行方法;
4、使线程执行周期性任务。仅当在为你的程序创建辅助线程的时候,你才需要显式运行一个 RunLoop。