[面试]进程与线程的区别联系,并发和并行的区别
来源:互联网 发布:json数据格式 编辑:程序博客网 时间:2024/06/04 19:54
进程与线程
1) 拥有:一个程序至少有一个进程,一个进程至少有一个线程.
2)单位:进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位。
3) 划分尺度和并发性:线程的划分尺度小于进程,使得多线程程序的并发性高。
4) 执行过程:进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
5) 开销和资源管理:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
6)健壮性和效率:主要差别在于它们是不同的操作系统资源管理方式。进程比线程健壮性好。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,因而进程效率要比线程差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
并发(concurrency)和并行(parallellism)
并发是指多个事件在同一时间间隔发生(交替)
并行是指多个事件在同一时刻发生(同时)
并发是两个队列交替使用一台咖啡机,并行是两个队列同时使用两台咖啡机。
问:并发是不是一个线程,并行是多个线程?
答:并发和并行都可以是多个线程,就看这些线程能不能同时被多个cpu执行,如果可以就说明是并行,而并发十多个线程被一个cpu轮流切换着执行。
- [面试]进程与线程的区别联系,并发和并行的区别
- 并行和并发的区别与联系
- 面试问题:进程与线程的区别和联系
- 并行与并发的区别与联系
- 线程和进程的区别与联系
- 进程和线程的区别与联系
- 进程和线程的区别与联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程与线程的区别和联系
- 进程和线程的区别与联系
- 进程与线程的区别和联系
- 线程和进程的区别与联系
- javaScript中的if(变量)和if(变量== true)的区别
- PL/SQL学习笔记
- 提升Xcode编译性能--RAM磁盘编译,编译速速飞起来
- Maven項目的創建及SSM環境的搭建
- 多态部分作业 3..创建Rodent(啮齿动物):Mnouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)
- [面试]进程与线程的区别联系,并发和并行的区别
- 线程的同步
- git葵花宝典,GitLabWeb
- Oozie
- “自顶向下,逐步求精”的方法
- PostgreSQL时间加减
- 2017杭电新生赛 1001~1009
- 管道
- Log4J入门教程(一) 入门例程