runloop的实现机制

 一个RunLoop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用RunLoop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。runloop的设计是为了减少cpu无谓的空转。RunLoop的使用场合:

1、使用端口或自定义输入源和其他线程通信;

2、子线程中使用了定时器;

3、Cocoa中使用任何performSelector到了线程中运行方法;

4、使线程执行周期性任务。仅当在为你的程序创建辅助线程的时候,你才需要显式运行一个 RunLoop。

原文地址:https://www.cnblogs.com/Yishu/p/4943498.html