第14章 多线程编程(www.cppentry.com)
Windows是一个多任务操作系统。Windows 95/NT实行的是抢先式多任务。在Windows中每一个进程可以同时执行多个线程,这意味着一个程序可以同时完成多个任务。例如对于通信程序既要进行耗时的工作,又要保持对用户输入响应的应用来说,使用多线程是最佳选择。当进程使用多个线程时,需要采取适当的措施来保持线程间的同步。本章讲解的知识点包括:
进程和线程的基本概念;
线程技术;
线程操作。
通过本章的学习,读者可以掌握多进程、线程的基本概念,掌握线程的基本操作和多线程编程(www.cppentry.com)的基本操作步骤。
14.1 多任务、进程和线程
Windows是一个多任务操作系统,它允许用户同时进行多个任务,例如说用户可以边听歌,边上网浏览网页,这些就是多任务。那么进程与线程又是怎样的关系呢?下面进行基本概念的讲解。
14.1.1 多任务介绍
多任务的概念人们已经比较熟悉了,它是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务。前面已经介绍了Windows系统就是一个支持多任务的操作系统,本书的多任务的应用也主要是对Windows下的多任务的具体应用。
Windows多任务处理采用的是被称为虚拟机(Virtual Machine)的技术。对于同一时间段运行的多个程序,系统为每一个程序分配一定的时间周期。这样多个程序在一个时间段内被多次执行和停顿。由于每个程序分到的时间段非常的短,也就是说程序运行周期比较短。这样每一个程序都可以看做是实时运行的,也就是多个程序同时再被运行。
随着技术的发展,CPU不仅仅是简单地对每一个应用程序分配时间段,而且可以对任务进行控制。这就是所谓的"抢占式"任务。在某一个时间段内运行的多个程序,可能程序的重要性不同、数据处理的复杂程度不同,这样CPU就动态地对每一个任务进行控制。对于较为重要的任务,CPU就可能会分配较多的时间段和较多的资源。
【责任编辑:
云霞 TEL:(010)68476606】