现代操作系统-进程与线程

多道程序设计:实际上CPU在各个进程之间来回切换。由于CPU在各进程之间来回快速切换,所以每个进程执行其运算的速度是不确定的,对编程进行编程时不能做出任何想当然的假设。


进程的创建与写时复制:在Unix系统中,只有一个系统调用可以用来创建新进程:fork,进程创建后,子进程共享父进程的所有内存,一旦两者之一想要修改部分内存,这块内存将首先被复制,以确保修改发生在私有内存区域。


为什么要创建线程:

1.在许多应用程序中同时发生多种活动,其中某些活动随着时间的推移会被阻塞。通常把这些程序分解为可以准并行运行的多个顺序线程。因为有了多线程的概念,并行实体拥有共享同一个地址空间和所有可用数据的能力,这是多进程无法实现的。

2.线程更为轻量级,比进程更容易创建,也更容易撤销,在许多系统中,创建一个线程要比创建一个进程快10-100倍,。

3.如果存在大量的计算和大量的IO处理,多个线程允许这些活动彼此重叠进行,加快速度。


posted on 2018-04-05 21:18  sichenzhao  阅读(129)  评论(0编辑  收藏  举报

导航