Visual_C__MFC扩展编程实例14

shell命令精品教程

Visual_C__MFC扩展编程实例14

第14章多任务

由于Wi ndows是多任务操作系统,应用程序可以以多种方式运行。在应用程序内部通过创建同时运行的处理线程可以实现多任务。此时还可以从自己的应用程序来执行其他应用程序,但是它们实际上将与用户自己的应用程序同时运行。M FC提供了一种使用方便的成员函数,将其重载便可以处理后台程序。本章的实例具体包括:

实例53 后台处理,本例中将演示在没有命令需要处理时,一种连续清除后台应用程序临时分配内存的方式。

实例54 运行其他应用程序。本例中将从自己的应用程序来运行其他应用程序。

实例55 改变优先级,当没有其他活跃的应用程序时,改变应用程序或者线程的优先级,使它运行得更快或者更慢。

实例56 应用程序(工作者线程)内部的多任务处理,本例中将创建一个工作者线程( Wo rkerT hread)来完成数学运算功能,与此同时由应用程序查询用户的需要。工作者线程与后面例子中的用户界面线程不同,后者意味着面向任务存在,任务完成后则终止。

实例57 应用程序(用户界面线程)内部的多任务处理,本例将创建用户界面线程( U s e rInterface Thread),该线程具有运行另外一个应用程序的功能,同时又具有与应用程序在同一地址空间的好处,这将允许线程和应用程序之间轻而易举地共享数据。

实例58 向线程发送消息,本例将实现与用户界面线程通信。

实例59 与线程共享数据,本例将演示一种在多个线程之间无冲突地共享同一个数据地址空间的方式。

14.1 实例53:后台处理

1. 目标

在应用程序处于空闲时,清除应用程序所占的零碎内存,在本例中,将在后台清除临时分配的内存。

2. 策略

使用C lassWi zard重载应用程序类的O nIdle()函数,只要没有用户命令需要处理,应用程序便调用它。

3. 步骤后台处理

用Class Wi zard重载应用程序类的O nIdle()成员函数。在本例中,使用重载的O nIdle()函数删除临时对象的列表:

BOOL CWzdApp::OnIdle( LONG lCount ) {

// clean up temporary objectswhile ( !m_TempList.IsEmpty() ){

Visual_C__MFC扩展编程实例14相关文档

最新文档

返回顶部