浅谈线程和进程
2014-12-21 19:13
197 查看
一、线程与进程的区别
1、 调度上:进程是系统进行资源分配和调度的一个基本单位;线程是CPU调度和分配的基本单位。
2、从地址空间和资源上:进程有自己独立的地址空间和资源,同一进程中的各线程间共享,其他进程不可见。
3、通信方式上:进程间通信是IPC,线程可以直接读取全局数据段,但得通过同步和互斥的手段来辅助保持数据的一致性。
4、系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统明显大于创建或撤销线程时的开销。在进程切换时,耗费的资源较大,效率要差些。
5、健壮性:进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径,虽然线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮。
二、进程与线程的联系
1、线程是一个轻量级的进程。
2、一个线程只有一个进程,一个进程可以有多个线程。
3、资源分配给进程,同一进程的所有线程共享该进程的所有资源
4、线程在执行的过程中,需要协作同步。不同进程的线程间利用消息通信的办法实现同步。
5、处理器分给线程,处理器上运行的是线程。
1、 调度上:进程是系统进行资源分配和调度的一个基本单位;线程是CPU调度和分配的基本单位。
2、从地址空间和资源上:进程有自己独立的地址空间和资源,同一进程中的各线程间共享,其他进程不可见。
3、通信方式上:进程间通信是IPC,线程可以直接读取全局数据段,但得通过同步和互斥的手段来辅助保持数据的一致性。
4、系统开销:在创建或撤销进程的时候,由于系统都要为之分配和回收资源,导致系统明显大于创建或撤销线程时的开销。在进程切换时,耗费的资源较大,效率要差些。
5、健壮性:进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径,虽然线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮。
二、进程与线程的联系
1、线程是一个轻量级的进程。
2、一个线程只有一个进程,一个进程可以有多个线程。
3、资源分配给进程,同一进程的所有线程共享该进程的所有资源
4、线程在执行的过程中,需要协作同步。不同进程的线程间利用消息通信的办法实现同步。
5、处理器分给线程,处理器上运行的是线程。
相关文章推荐
- Windows进程/线程浅谈
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- 浅谈进程和线程的区别
- 进程、线程定义和区别,浅谈php中的线程
- 浅谈进程和线程间的通信方式
- python中进程、线程的浅谈
- 浅谈进程与线程的区别
- 浅谈进程与线程的区别和联系
- Windows进程/线程浅谈
- 浅谈进程和线程
- 浅谈线程与进程的相似与不同
- 黑马程序员--浅谈进程与线程
- 浅谈 java线程 和 linux进程
- 转载_进程、轻量级进程(LWP)、线程
- delphi的多线程实现和线程与进程的关系说明
- 进程。。。线程。。。。
- 进程 线程 进程迁移
- 进程与线程
- Android进程与线程
- 线程和进程的上下文模型区别