BREW Callback
来源:互联网 发布:锂电池仿真软件 编辑:程序博客网 时间:2024/05/05 07:40
到目前为止,BREW(不包括bmp)的所有应用都运行于单一的Task(进程或者线程),所有应用间不具有抢占的特性。各应用的运行是基于协作式的。所谓的协作式,就是应用主动的让度CPU供其他App使用,让度的方式就是BREW的AEECallback机制。
请注意,AEECallback实例必须是长期有效的,不得在堆栈或者寄存器中分配(临时变量),因为BREW Callback的运行是异步的,并且BREW内核不会对AEECallback实例进行备份。
典型的使用为:
1.使用Callback_Init初始化一个AEECallback实例,主要是关联Callback Function和Callback Context Data。
2.调用IShell_Resume向BREW内核Schedule一个AEECallback结构,BREW内部会将其放入BREW的AEECallback队列,并置BREW_SIG,以便下次BREW能被正常调度到。
3.当Schedule的AEECallback还没有被调用时,可以调用Callback_Cancel取消它,BREW内部会从AEECallback队列中删除它。
4.正常情况下,下某次的BREW调度,就会从BREW AEECallback队列中提取出,并执行其Callback Fucntion,同时传递保存的Context Data
5.要查询某个AEECallback是否处于Schedule状态,可以调用Callback_IsQueued
6.注意,当应用退出时,BREW默认不会自动Cancel AEECallback,所以为了避免异常,App退出时,必须Cancel所有的Callback
- BREW Callback
- BREW Callback的高级操作
- Brew Callback机制和事件驱动机制
- Brew
- BREW?。
- BREW
- BREW
- BREW
- BREW
- BREW
- brew
- brew
- brew
- 忆龙2009:BREW平台Callback(回调)机制的最终分析
- CALLBACK
- callback
- Callback
- CALLBACK
- 共享数据的高级技巧
- Windows Embedded Compact 试用笔记(2)——系统定制
- 事件操作
- 如何用ASP生成网页静态页面
- 使用 OpenLDAP 集中管理用户帐号[多图]
- BREW Callback
- 使用配置文件(.settings、.config)存储应用程序配置
- 取得DataGridView中被选择的列、行、单元格,列、行、单元格选择设定
- BREW Callback的高级操作
- 从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响
- minigui的native ial支持键值大于127的输入
- 学习GDI+
- 编程习惯
- linux下区分各种SCSI磁盘类型