活动对象

来源:互联网 发布:手机淘宝免费使用在哪 编辑:程序博客网 时间:2024/04/28 14:59

    活动对象是Symbian定义的在单线程中执行多任务的一种机制。活动对象从CActive类派生而来,并调用异步函数。在异步函数处理完成之后,活动对象调度器便会调用CActive::RunL( )函数。这是CActive的一个虚函数,在派生类中实现。 

    在构造活动对象的时候,需要为CActive传入一个优先级的值,然后将该活动对象添加到活动对象调度器中。每个活动对象至少有一个请求函数。此函数为异步函数,向服务器发送请求。在此函数中调用SetActive( ),修改异步函数中iStatus的值。异步函数完成后,服务器修改iStatus为一个异常码。可以在RunL( )中针对异常码进行处理。

    取消异步函数,应实现CActive::DoCancel( )这个虚函数。这个函数是在CActive::Cancel( )函数被调用的,而不是直接被调用。

    活动对象调度器是线程的事件处理器。在使用活动对象之前,应当先从CActiveScheduler构造一个活动对象处理器,然后安装。调用CActiveScheduler::Start( )开始运行调度器。调用CActiveScheduler::Stop( )停止调度器的运行。