进程与线程区别
2016-03-30 20:57
260 查看
区别:
进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
1.调度。线程是独立调度的基本单元,进程是资源拥有的基本单位。
2.拥有资源。进程是拥有资源的基本单位,线程不拥有资源,但线程可以访问其隶属进程的系统资源。进程内的线程共享进程的栈空间,但在栈空间内,每一线程都有其独立的栈区.线程还有自己独立的寄存器等资源。
3.并发。都可并发执行。
4.系统开销。进程创建、撤销,系统为其分配或回收资源,进程切换时,系统需要保存进程的cpu环境,而线程切换时值需保存和设置少量寄存器内容,开销很小。线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
5、线程执行开销小,但不利于资源管理和保护。而进程正相反。
5.地址空间和其它资源。进程的地址空间之间相互独立,同一进程的各线程间共享进程的资源,其进程内的线程对于其他进程不可见。
6.通讯。进程间通讯(IPC)需要进程同步和互斥手段的辅助;而线程间可以之间读、写进程数据段(如全局变量)来进程通讯。
进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
1.调度。线程是独立调度的基本单元,进程是资源拥有的基本单位。
2.拥有资源。进程是拥有资源的基本单位,线程不拥有资源,但线程可以访问其隶属进程的系统资源。进程内的线程共享进程的栈空间,但在栈空间内,每一线程都有其独立的栈区.线程还有自己独立的寄存器等资源。
3.并发。都可并发执行。
4.系统开销。进程创建、撤销,系统为其分配或回收资源,进程切换时,系统需要保存进程的cpu环境,而线程切换时值需保存和设置少量寄存器内容,开销很小。线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
5、线程执行开销小,但不利于资源管理和保护。而进程正相反。
5.地址空间和其它资源。进程的地址空间之间相互独立,同一进程的各线程间共享进程的资源,其进程内的线程对于其他进程不可见。
6.通讯。进程间通讯(IPC)需要进程同步和互斥手段的辅助;而线程间可以之间读、写进程数据段(如全局变量)来进程通讯。
相关文章推荐
- C#线程间不能调用剪切板的解决方法
- C#实现进程管理的启动和停止实例
- DOS中判断进程是否存在的方法
- C#进程监控方法实例分析
- 批处理 结束麦咖啡进程的代码
- PowerShell查看进程的所属用户
- C#实现强制关闭当前程序进程
- C#实现读取被进程占用的文件实现方法
- C#线程同步的三类情景分析
- C#获取进程或线程相关信息的方法
- C#停止线程的方法
- C#子线程更新UI控件的方法实例总结
- 简单掌握Windows中C#启动外部程序进程的方法
- C#线程队列用法实例分析
- 简要对比C语言中三个用于退出进程的函数
- C++使用CriticalSection实现线程同步实例
- VC实现获取当前正在运行的进程
- 基于C++实现的线程休眠代码
- win32下进程间通信(共享内存)实例分析