RunLoop运行循环/消息循环

什么是运行循环

  • 消息循环又叫运行循环.
  • NSRunloop就是消息循环,每一个线程内部都有一个消息循环.目的:检测事件放在线程执行
  • 只有主线程的消息循环是默认开启,是专门为主线程检测UI交互事件的;子线程的消息循环默认不开启,因为子线程不是用来处理UI交互事件的

运行循环的目的

  • 保证程序不退出.
  • 负责处理输入事件.
  • 如果没有事件发生,会让程序进入休眠状态.

输入事件

  • Runloop接收输入事件来自两种不同的来源 : 输入源input source和定时源timer source.

消息循环运行的模式

  • 消息循环也是要运行在某一特定的模式上的.
    • NSDefaultRunLoopMode
    • UITrackingRunLoopMode
    • NSRunLoopCommonModes : 包含了以上两种模式.
  • 注意 : 只有输入源的运行模式和消息循环的运行模式保持一致,输入源对应的事件才能被消息循环检测到.
posted @ 2017-01-12 14:27  ys123456789  阅读(179)  评论(0)    收藏  举报