您的位置:首页 > 其它

浅谈线程和进程

2014-12-21 19:13 197 查看
一、线程与进程的区别

1、 调度上:进程是系统进行资源分配和调度的一个基本单位;线程是CPU调度和分配的基本单位。

2、从地址空间和资源上:进程有自己独立的地址空间和资源,同一进程中的各线程间共享,其他进程不可见。

3、通信方式上:进程间通信是IPC,线程可以直接读取全局数据段,但得通过同步和互斥的手段来辅助保持数据的一致性。

4、系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统明显大于创建或撤销线程时的开销。在进程切换时,耗费的资源较大,效率要差些。

5、健壮性:进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径,虽然线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮。

二、进程与线程的联系

1、线程是一个轻量级的进程。

2、一个线程只有一个进程,一个进程可以有多个线程。

3、资源分配给进程,同一进程的所有线程共享该进程的所有资源

4、线程在执行的过程中,需要协作同步。不同进程的线程间利用消息通信的办法实现同步。

5、处理器分给线程,处理器上运行的是线程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: