Symbian OS 开发初级手册 9 Active Object 基本概念
来源:互联网 发布:windows resource kit 编辑:程序博客网 时间:2024/06/01 08:55
上课讲了Symbian OS中多线程的使用, 这可我们说说Symbian OS中使用更频繁的一个框架:Active Object(这里简称AO)。
多线程在传统程序中使用非常的广泛, 但是在资源有限的小型设备上却不一定是上乘选择。 通过上课的例程我们看到每个线程都要分配一定的内存, 如果所有的异步操作都通过多线程来做的话, 对系统是一个不小的负担。 AO的设计就是要在同一个线程内处理异步操作。
AO 是在 ActiveScheduler (AS) 的协调下工作的, 当一个AO发出异步请求后,请求函数会立即返回,AO可以继续运行,或者等待。 异步操作完成后, AS会得到通知,然后它调用相应的AO中的RunL函数。 所以AO的普遍用法就是给异步操作创建一个请求函数, 然后在RunL中处理操作结果。举例说明:我们有一个socket, 需要从网络读入一些数据然后输出, 那么我们就需要:
一个请求函数:
void MyA:RequestReceive()
{
iSocket.Recv(iBuf,...,iStatus);
}
和RunL:
void MyA:RunL()
{
iConsole->Printf(iBuf);
}
使用此AO的时候, 就可以先调用RequestReceive()然后继续做其他的事情, 当socket读入完毕后AS会调用这个AO的RunL,那么接受的数据就会被打印出来了。当然,要实际在程序中使用AO我们还需要学习很多东西。到此你只需要对AO有个概念上的理解。
以下是在NewLC转过来的一个图示, 基本勾画出了Active Object的框架:
- Symbian OS 开发初级手册 9 Active Object 基本概念
- Symbian OS 开发初级手册 9 Active Object 基本概念
- Symbian OS 开发初级手册
- Symbian OS 开发初级手册
- Symbian OS 开发初级手册 8 多线程
- Symbian OS 开发初级手册 7 Descriptors
- Symbian OS 开发初级手册 8 多线程
- Symbian OS 开发初级手册 (2)基本数据类型
- Symbian OS 开发初级手册 (7) Descriptors
- Symbian OS 开发初级手册 (1) Introduction
- Symbian OS 开发初级手册 (2)基本数据类型
- Symbian OS 开发初级手册 (3)GUI程序中的4个基本类
- Symbian OS 开发初级手册 (4) mmp, pkg 文件 和 makesis 工具
- Symbian OS中使用Active Object 而不是线程来处理多任务的原因
- Symbian OS internals: Active and CAyncCallBack
- Active Object and sample code in symbian
- Symbian OS 手机开发
- Symbian学习笔记19 之 Active Object Pitfalls
- c# 动态修改水晶报表文本内容
- VC常见数据类型转换详解
- ORACLE中BFILE字段的使用研究
- select()函数
- 软件开发的葵花宝典
- Symbian OS 开发初级手册 9 Active Object 基本概念
- Table 的行交换位置
- Unrecognized xbean element mapping: services in namespace http://xfire.codehaus.org/config/1.0
- gethostbyname用法
- PHP Socket 编程
- 介绍几个 flash 游戏框架/engine
- 在对话框程序中插入DialogBar
- 英文阅读
- 我制作的一个UI