活动对象 - PowerPoint PPT Presentation

slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
活动对象 PowerPoint Presentation
Download Presentation
活动对象

play fullscreen
1 / 7
活动对象
191 Views
Download Presentation
swain
Download Presentation

活动对象

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 活动对象

  2. 主要内容 • 活动对象机制 • 活动对象的使用 • 用活动对象处理复杂事务

  3. 活动对象机制 • 活动对象框架 • 活动对象调度器CActiveScheduler class CActiveScheduler : public CBase { friend class CActiveSchedulerWait; public: struct TLoop; typedef TLoop* TLoopOwner; public: IMPORT_C CActiveScheduler(); IMPORT_C ~CActiveScheduler(); IMPORT_C static void Install(CActiveScheduler* aScheduler); IMPORT_C static void Add(CActive* aActive); IMPORT_C static void Start(); IMPORT_C static void Stop(); ... ... };

  4. 活动对象机制 • 活动对象框架 • 活动对象类CActive • class CActive : public CBase • { • public: • IMPORT_C ~CActive(); • IMPORT_C void Cancel(); • ... ... • protected: • IMPORT_C CActive(TInt aPriority); • IMPORT_C void SetActive(); • virtual void DoCancel() =0; • virtual void RunL() =0; • IMPORT_C virtual TInt RunError(TInt aError); • public: • TRequestStatus iStatus; • };

  5. 活动对象机制 • 活动对象的生命周期及操作顺序

  6. 活动对象的使用 • 实现活动对象的必要步骤 • (1)从CActive类派生活动对象类 • (2)实现活动对象类的构造函数 • (3)实现活动对象的二阶段构造函数ConstructL() • (4)实现CActive类的三个虚函数RunL()、DoCancel()、RunError() • (5)实现活动对象的析构函数

  7. 用活动对象处理复杂事务 • 活动对象的RunL()方法不能长时间占用CPU • 把复杂大任务分割成许多小任务进行处理