第 20 章 多任务和多线程

来源:互联网 发布:淘宝一件代销赚钱吗 编辑:程序博客网 时间:2024/06/06 01:06

摘录于《Windows程序(第5版,珍藏版).CHarles.Petzold 著》P923

        多任务是指操作系统能够并行运行多个程序的能力。简单地来说,操作系统用一个硬件时钟来为每个并行运行的进程分配“时间片”。如果时间片足够小——而且极其没有因为运行多个程序而超载,那么在用户看来,就好像所有的程序都在同时运行。

        多任务并不是一个新东西。在大型主机上,多任务早就有了。这些大型机经常一台就连接着几百台终端,每个终端用户都应该感觉只有他在访问整个机器。此外,大型机的操作系统还允许用户“提交后台任务”,机器在运行这些后台任何时用户可以同时做其他一些事情。

        多任务在个人计算机上则经历了比较长的时间才成为现实。但现在 PC 支持多任务对我们来说是理所当然的事。接下来我会讲到,尽管早期的 16 位 Microsoft Windows 在某种程度上支持多任务,但功能比较有限。32 位的 Windows 则都支持真正的多任务,而且还额外支持多线程。

        多线程是指一个程序在其自身内部也有支持多任务的能力。程序能把自己分成多个执行“线程”,它们看起来好像是在并行运行。这个概念初看起来好像没什么用,但实际上程序能用多线程在后台执行要运行很长时间的任务, 而不需要用户等待很长时间不能用机器。当然,这有时并不是人们想要的:能有一个借口去饮水间或是去冰箱逛一趟多好啊。但用户应该总是随时都能够在机器上做事,哪怕机器正在忙着做其他的事情。

0 0
原创粉丝点击