Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318971
  • 博文数量: 88
  • 博客积分: 2051
  • 博客等级: 大尉
  • 技术积分: 950
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 23:59
文章分类

全部博文(88)

文章存档

2012年(3)

2011年(2)

2010年(9)

2009年(14)

2008年(60)

我的朋友

分类: C/C++

2008-06-25 15:53:49

void CActiveFibonacci::CompleteSelf()
     {
    TRequestStatus* status = &iStatus;
     User::RequestComplete(status, KErrNone);
     SetActive();
     }

 

这几句话实现对RunL()的循环调用,设置status为KErrNone,然后SetActive()

当前线程检测到信号后,查看本AO的status和active标志就调用RunL,

RunL自己调用CompleteSelf就可以循环执行了!不用写While语句占用阻塞掉整个线程,

整个UI还是能够继续响应用户的输入事件,将本AO的优先级设的低一些(EPriorityIdle)可以在空闲的时候做一些耗时的运算,当然要在RunL里面设定截止条件

阅读(711) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~