美文网首页
Run Loops初探

Run Loops初探

作者: r_lin | 来源:发表于2015-11-03 18:06 被阅读86次

一般一个线程一次只能执行一个任务,任务干完就退出,没他的事了。但有时已经创建好了线程,任务却还不确定,还可能不止一个,说不定还有意外的任务加入。这个时候就需要一种机制让线程能竖起耳朵等待任务,不能退出,但没有任务时可以偷懒(竖着耳朵偷懒)。描述这种机制的模型叫Event loop。Apple对Event loop的实现就是Run Loop。简单说,Run Loop是一个事件处理循环,用于接收和处理事件(Events)。搞出他的主要目的是为了线程在有活干时拼命,没活干时睡觉。

Run Loop

Run Loop中的事件有两种来源:
  • Iput sources:传输的是来自其它线程或者程序的异步事件。
  • Timer sources:传输的是同步事件,会在指定的时间执行、或者在某个时间间隔间重复执行。
Run Loop Modes:

一个run loop mode就是input sources、timers和该run loop所有的监听者(observer)的集合。每次执行执行run loop都需要指定一个mode。不同mode通过名称区分。

注意:

  1. Apple不允许直接创建Run Loop。程序中每个线程都有与他关联的Run Loop。
  2. 每次执行Run Loop都需要指定一个mode。

相关文章

  • Run Loops初探

    一般一个线程一次只能执行一个任务,任务干完就退出,没他的事了。但有时已经创建好了线程,任务却还不确定,还可能不止一...

  • Run Loops记录

    Run Loops Run Loops描述(官方文档)Run Loops(运行循环)是与线程相关的基础架构的一部分...

  • RunLoop理解

    What's Run Loops? Why Run Loops? 命令行式执行 Event驱动

  • Run Loops

    写在前面 阅读 Apple Deleloper Run Loops 的笔记。 简介 Run Loops 是和线程息...

  • IOS开发需要知道的知识-RunLoops

    什么是Run Loops Run Loops是与线程想关联的基础部分。一个Run Loop就是事件处理循环,它是用...

  • NSTimer 运行机制

    1.IOS的Run Loops机制 Run Loops是线程的基础部份,任何线程,包括主结程,都包含了一个run ...

  • Run Loops

    1. Run Loops Run loops是线程基础机构中非常重要的一环。它是一个处理事件的循环,帮助你安排事件...

  • iOS学习笔记之RunLoop

    前言 在苹果官方文档中对Run Loops的介绍是: Run Loops 是与线程相关的基础结构的一部分;Run ...

  • Timer

    关于Timer Timers work in conjunction with run loops. Run lo...

  • RunLoop官方文档翻译

    Run Loops Run loops是与线程相关的基础框架的一部分。一个run loop是一个循环,在这个循环中...

网友评论

      本文标题:Run Loops初探

      本文链接:https://www.haomeiwen.com/subject/hcbqhttx.html