Event Loop 在很多系统和框架里都有实现,比如 Node.js 的事件处理,比如 Windows 程序的消息循环,再比如 OSX/iOS 里的 RunLoop。实现这种模型的关键点在于:如何管理事件/消息,如何让线程在没有处理消息时休眠以避免资源占用、在有消息到来时立刻被唤醒。

建议文章:

  1. 《深入理解RunLoop》
  2. 《深入理解 RunLoop》
  3. 《RunLoop系列之源码分析》
  4. 《黑幕背后的Autorelease》