您的位置:首页 > 职场人生

进程,线程 面试问题[待整理]

2008-12-01 09:38 357 查看
1,进程和线程的区别

线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:

(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;

(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源

(3)线程是处理器调度的基本单位,但进程不是.

程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮助我们理解两者间的差别:

进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。

一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。

同一进程中的两段代码不能够同时执行,除非引入线程。

线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。

线程占用的资源要少于进程所占用的资源。

进程和线程都可以有优先级。

在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。

2,多进程 多线程
无论进程,还是线程,其最终目的就是最大限度的提高程序的并行性(或着系统的吞吐量).对"单进程,单线程",一段时间段内,每个时刻都只有一个程序在运
行,对"多进程,单线程",尽管在每个时刻,只有一个程序在运行,但是在一段时间段内,却有多个程序在运行,对"多进程,多线程",对每个时刻,每个时间
段,都可能有多个程序在运行.它们的并行性程度大小为"单进程,单线程"<"多进程,单线程"<"多进程,多线程".
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: