宁波东方专科医院口碑:网络的大问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 22:49:29
线程和进程有什么不同?

线程是指程序能顺序执行的一个序列。一个线程只有一个入口点,但可能有几个出口点,不过,每个时刻的执行点总是只有一个。线程不是
能够独立运行的程序,而只是某个整体程序内部的一个顺序执行流。所谓多线程,就是通过系统的调度使几个具有不同功能的程序流即
线程同时并行地运行。
在处理器计算机系统中,实际上是不可能使多个线程真正并行运行的,而要通过系统用极短的时间,极快的速度对多个线程进行切换,宏观
上形成多个线程并发执行的效果。

线程和进程之间的差别

线程和进程很想象,它们都是程序的一个顺序执行序列,但两者又有区别。进程是一个实体,每个进程有自己独立的状态,并有自己的专用
的数据段。创建进程时,必须建立和复制其专用数据段。同一个程序中的所有线程只有一个数据段,所以,
创建线程时不必重新建立和复制数据段。由于数据段建立和复制方面的差异,使线程的建立和线程的切换速度大大优于进程,
另一方面,线程又具备进程的大多数优点。
举个例子:
假设银行系统输存款和取款手续,将帐本看成数据段。如果用进程这种机制办,那么当储户去存/取款时,银行应先把帐本复制一遍,
为储户建立一个独立的帐本再结算。如果按线程机制办,那么,银行里所有的出纳员都用同一个帐本,储户来办存/取款时,
也从这个帐本直接结算。用线程机制省去了数据段复制这一步显然会使线程独具特点。
但是由于多个线程共享一个数据段,所以也出现了数据访问过程的互斥和同步问题,这使系统管理功能变得相对复杂。
总的说,一个多线程系统在提高系统的输入/输出速度、有效利用系统资源,改善计算机通信功能以及发挥多独步一时器硬件功能方面显示
很大优势。