如何在 Windows 95 的 16 位和 32 位程序多任务

文章翻译 文章翻译
文章编号: 117567 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

在 Windows 95 中 preemptively 安排所有 32-位应用程序。 抢先多任务允许 Windows 95 之间进行切换 32-位应用程序是否会丢失的 CPU 的控件,或不准备这些应用程序。在应用程序和操作系统之间没有进行合作时,需要 32-位多任务。

更多信息

32 位应用程序

32-位应用程序接口 (API) 函数和调用这些函数的应用程序旨在处理并发要求附带抢先多任务。所有的内部数据结构被分配基于每个线程或防止损坏受信号量 (或关键代码节)。这样可确保一个 32-位应用程序不会销毁数据所需的另一个 32-位应用程序通过一次调用相同的 api。32 位 Windows 和其 api 允许这,因为它们是可重入 (也就是代码可由共享多个程序在同一时间)。

windows 95 进一步保护防止意外数据丢失的 32-位应用程序运行在其自己的地址空间中的每个程序。这意味着一个应用程序数据不能访问另一个应用程序。这种保护的缺点是应用程序不能自由地共享间作为自己的数据,如同它们运行在同一地址空间中并有完全访问彼此的代码和数据。

16 位应用程序

多在 Windows 3.x 和 Windows 为工作组 3.x,16-位应用程序任务彼此通过频繁地产生 CPU 到其他程序中的控件。这种类型的联合多任务处理意味着应用程序具有的 CPU 的控件,直到它放弃它。损坏的数据结构将无法通过合作任务切换。

在 Windows 3.x Windows 为工作组 3.x 和 Windows 95 下所有 16-位应用程序都运行在同一地址空间中。通过运行在同一地址空间中,应用程序可以共享资源之间本身,和有,遗憾的是,一个更大的风险覆盖另一个应用程序中的数据。

某些 16 位应用程序取决于提供的合作多任务功能。这些应用程序可能会使以下假设:
  • 直到应用程序本身生成控件,则不释放 CPU、 显示,和其他资源的控制。
  • 可由一个应用程序创建并传递到另一个资源 (如笔和画笔。
  • 可以通过向数据区域的另一个应用程序编写应用程序之间共享数据。
由于应用程序如果一个 16 位应用程序停止响应 (挂起) 之前它已生成到另一个应用程序之间进行切换的合作此依赖的则可能会导致 Windows 以及挂起。应用程序本地重新启动的功能,有助于缓解此问题,关闭没有响应的应用程序,允许 Windows 和其他正运行的程序以继续 Windows 3.1 中引入。一定要注意本地重新启动功能不总是起作用 ; 其成功取决于导致挂起特定的应用程序的问题的严重程度。

注: 该本地重新启动功能允许您使用 CTRL + ALT + DEL 关闭已停止响应的应用程序。

windows 95 平衡向后的兼容性要求一个的 4 兆字节 (MB) 计算机上运行和通过保留其基本的功能,以前的 16 位代码的很多,并通过将新功能添加到 32 位代码提供抢先多任务。

这意味着某些 32 位调用被映射为 16 位代码,反之亦然。 当一个 32 位应用程序调用 16 位代码时,没有设计不良的 16 位程序可能导致挂起的 32 位应用程序的可能性。

如果满足下列条件的两个都存在,可能会出现此问题:
  • 16-位应用程序挂起之前并生成控件。
  • 一个 32 位应用程序调用了一个 API,就会被重定向到 16 位代码。
要变通解决此问题,请关闭已停止响应的 16 位应用程序使用本地重新启动功能。若要使 16 位应用程序更可靠 Windows 95 中的本地重新启动功能中进行改进。

属性

文章编号: 117567 - 最后修改: 2006年11月15日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Windows 95
关键字:?
kbmt KB117567 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 117567
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com