一、进程与线程的定义
进程是系统进行资源分配和调度的基本单位,并作为程序独立运行的载体保证程序运行,使得操作系统的利用率提升,提高系统的并发量;
线程是操作系统进行运行调度的最小单位,能够降低不同任务切换时的资源消耗
二、进程与线程的关系
一个进程可以有多个线程,线程不能脱离进程单独运行。
三、数据通信
不同的进程之间的难以通信;
同一个进程内,不同线程之间容易通信。
四、资源分配
进程是资源分配的基本单位,需要消耗更多的资源,需要各种调度策略才能运行;
线程不占用资源,资源开销小,只需要被分配给对应的进程。
五、进程与线程之间的影响
当突然由于某种原因引起终止时,进程之间不会相互影响,线程的突然终止会导致进程也终止。
六、锁,信号量
当进程使用内存的时候可以上锁(互斥锁),上锁会使得该资源同一时间只能被一个线程访问。
进程使用的内存地址可以限定使用的量,当超过了预设的最大值,新的请求需要等待之前的请求处理完毕之后才能处理。
//面试被问到问题的简单总结,只是提供这些方面的回答思路,本人经验有限,更深入的细节方面还是看别人的吧...