活动对象与活动调度器是Symbian OS操作系统中实现非抢先式多任务处理的关键机制。在Symbian OS中,活动对象(Active Objects)和活动调度器(Active Scheduler)一起工作,提供了一种比传统的多线程编程更简洁、CPU效率更高的方案。尤其在Symbian OS v8.0中,引入了发行预订(Publication Preemption)和消息队列,进一步优化了线程间和进程间的信息共享。 多任务技术允许操作系统在多个任务之间共享处理器资源,协同式多任务中任务主动放弃CPU使用权,而抢先式多任务则由调度器决定何时暂停当前任务。Symbian OS采用的是抢占式多线程,可以同时运行多个应用程序和服务器。线程间的调度由系统自动完成,程序员只需创建线程并设定执行任务,调度器负责分配CPU时间片。 活动对象作为线程的子任务,它们在单一线程中实现非抢占式多任务。每个活动对象在执行完任务后自行决定何时让出控制权给活动调度器。活动调度器使用非抢占策略,确保正在执行的活动对象不会被中断,只有在活动对象完成任务并返回控制权后,调度器才会选择下一个活动对象执行。这使得活动对象非常适合处理事件,如用户界面的按键事件或屏幕更新。 Symbian OS采用客户端/服务器架构,服务器通常通过R-类提供服务,R-类包含异步和同步方法。异步方法允许客户端线程在发送请求后立即返回,处理其他任务,而服务器在完成请求后通知客户端。这种方式保持了用户界面的响应性。同步方法则会导致客户端线程阻塞,直至服务器完成请求并返回结果,这可能会导致用户界面无响应,影响用户体验。 为了简化异步方法的使用,Symbian OS提供了框架来管理异步请求的追踪和处理。尽管同步方法的使用相对简单,但它们可能导致线程阻塞,影响程序的实时性。因此,合理地使用异步方法和同步方法,结合活动对象和活动调度器,可以在保证程序高效运行的同时,提供良好的用户体验。在编写Symbian OS应用程序时,应充分利用这些机制,确保程序的性能和交互性。
- 粉丝: 2
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助