Run Loops
来源:互联网 发布:qt高级编程 pdf 网盘 编辑:程序博客网 时间:2024/05/18 00:18
1.4.2 Run Loops
注:为了便于记忆,文本后面部分翻译 Run Loops 的时候基本采用原义,而非翻译为“运行 循环”。
一个 run loop 是用来在线程上管理事件异步到达的基础设施。一个 run loop 为 线程监测一个或多个事件源。当事件到达的时候,系统唤醒线程并调度事件到 run loop,然后分配给指定程序。如果没有事件出现和准备处理,run loop 把线程置于休 眠状态。
你创建线程的时候不需要使用一个 run loop,但是如果你这么做的话可以给用户 带来更好的体验。Run Loops 可以让你使用最小的资源来创建长时间运行线程。因为 run loop 在没有任何事件处理的时候会把它的线程置于休眠状态,它消除了消耗 CPU 周期轮询,并防止处理器本身进入休眠状态并节省电源。
为了配置 run loop,你所需要做的是启动你的线程,获取 run loop 的对象引用, 设置你的事件处理程序,并告诉 run loop 运行。Cocoa 和 Carbon 提供的基础设施会 自动为你的主线程配置相应的 run loop。如果你打算创建长时间运行的辅助线程, 那么你必须为你的线程配置相应的 run loop。
0 0
- Run Loops
- Run Loops
- Run Loops
- Run loops
- Run Loops
- Run Loops
- Run Loops
- Run loops的使用
- Run Loops(翻译)
- 关于Run Loops
- iOS开发笔记--Run Loops
- GCD && Run Loops学习笔记
- 运行循环(Run Loops)
- iOS:多线程编程指南(二)--Run Loops
- Run Loops 是个什么东西。
- iOS开发笔记--Run Loops(简洁版)
- Run Loops官方文档翻译(一)
- loops
- android如何防止应用被载屏
- MSP430按键中断
- UE4 行为树装饰器(Decorator)简单实用说明(1)
- 2.3栈的链式结构
- UVA 202 循环小数百度解法 自己不会。
- Run Loops
- libevent http post json 测试
- 台阶问题-洛谷 1192
- maven打包web成war
- 游戏开发中常用的的设计模式
- stm32f103系列芯片JTAG口当做普通IO使用
- MSP430按键中断Ⅱ
- 常见线程问题
- C语言中利用typedef定义一个数组类型