进程与线程的主要区别是什么?
2014-04-02 18:16
399 查看
进程与线程的主要区别是什么?
解答:
进程与线程的主要区别如下:
调度方面。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程的切换。在不同的进程中进行线程切换,将会引起进程切换。
拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源(也有一点必不可少的资源),但线程可以访问其隶属进程的系统资源。
并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可以并发执行。
系统开销。由于创建进程或撤销进程时,系统都要为之分配或回收资源,操作系统所付出点开销远大于创建或撤销线程时的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保护及新调度到新进程的CPU环境设置;而线程切换时,只需保护和设置少量寄存器内存,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。
解答:
进程与线程的主要区别如下:
调度方面。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程的切换。在不同的进程中进行线程切换,将会引起进程切换。
拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源(也有一点必不可少的资源),但线程可以访问其隶属进程的系统资源。
并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可以并发执行。
系统开销。由于创建进程或撤销进程时,系统都要为之分配或回收资源,操作系统所付出点开销远大于创建或撤销线程时的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保护及新调度到新进程的CPU环境设置;而线程切换时,只需保护和设置少量寄存器内存,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。
相关文章推荐
- 进程和线程的主要区别是什么?
- 并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- 进程和线程有什么区别?
- 线程和进程有什么区别?
- 进程和线程的区别是什么(转自知乎)
- 进程和线程有什么区别
- 线程和进程有什么区别?
- 线程和进程的区别是什么?
- 进程、线程、任务的区别是什么
- 线程和进程有什么区别?
- net进阶:线程与进程的区别、什么是Windows服务?
- 线程和进程有什么区别?
- 进程和线程有什么区别?
- 什么是进程与线程及两者的区别
- 线程和进程有什么区别?
- java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- 进程和线程有什么区别
- 线程和进程的区别是什么
- 进程和线程有什么区别?
- 进程和线程有什么区别?什么是多线程?