黄小华的个人网站
熬过无人问津的日子才有诗和远方!
深入理解操作系统原理

线程与进程的区别

进程是操作系统进行资源分配的基本单位 线程是CPU调度的基本单位。
进程有自己独立的逻辑上连续地址空间。线程基本不拥有系统资源,只有一点运行必不可少的资源(程序计数器,一组寄存器,线程栈),所有线程共享进程所拥有的资源。
线程间通信效率高,开销小,进程间通信系统开销大,效率差。线程可以通过共享变量和wait,notify等方法实现通信。进程通信方法有管道,消息队列,共享内存,socket,信号量等。
一个进程可以有多个线程,一个进程至少有一个线程,硬盘中的程序加载到内存使用时就叫进程。
进程之间相互独立,互不影响。即使一个进程挂了其他进程不受影响。线程是一个进程中的不同执行路径。一个线程挂掉等于整个进程挂掉,所以在编写多线程程序时要格外注意。