进程与线程编程.docVIP

  • 3
  • 0
  • 约2.97万字
  • 约 30页
  • 2017-02-13 发布于北京
  • 举报
4.1 为什么需要多进程/线程 还记得DOS时代有一个程序被大家奉为后台操作的经典,那就是Print.EXE(由M$提供),这个程序用于后台打印。可以从一定程度上实现了多任务,但是DOS并不是一个多任务的环境所以勉强实现多任务时限制太多。随后有了Windows 3.X,虽然OS有了多任务的支持但是严格的说来对多进程的支持并不够,这主要表现在进程间通信方面提供的支持非常少。一些传统的IPC方式都没有提供。后来在WinNT上完全实现了多进程/多线程支持,当然现在的Windows9X/2K都完全提供了这方面的支持。 什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮助我们理解两者间的差别: 进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。(图一) 同一进程中的两段代码不能够同时执行,除非引入线程。 线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。 线程占用的资源要少于进程所占用的资源。 进程和线程都可以有优先级。 在线程系统中进程也是一个线程。可以将进程理解为一个程序

文档评论(0)

1亿VIP精品文档

相关文档