浅谈java线程与进程的区别

什么是进程,什么是线程?  java

进程:是并发执行的程序在执行过程当中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。segmentfault

线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。多线程

一个程序至少一个进程,一个进程至少一个线程。并发

进程线程的区别spa

一、地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。线程

二、资源拥有:同一进程内的线程共享本进程的资源,可是进程之间的资源是独立的。blog

三、一个进程崩溃后,在保护模式下不会对其余进程产生影响,可是一个线程崩溃整个进程都死掉。因此多进程要比多线程健壮。进程

四、进程切换时,消耗的资源大,效率高。因此涉及到频繁的切换时,使用线程要好于进程。一样若是要求同时进行而且又要共享某些变量的并发操做,只能用线程不能用进程。资源

五、执行过程:每一个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。可是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。rem

六、线程是处理器调度的基本单位,可是进程不是。

七、二者都可并发执行。

一个线程只属于一个进程,可是一个进程能够拥有多个线程,但至少一个线程

资源分配个进程,同一进程中全部线程共享该进程的全部资源。

优缺点:

线程执行开销小,可是不利于资源的管理和保护。线程适合在SMP机器(双CPU系统)上运行。

进程执行开销大,可是可以很好的进行资源管理和保护。进程能够跨机器前移。

以上就是java线程与进程的区别的详细内容,但愿对你有所帮助。

阅读原文:java线程与进程的区别

相关文章:
什么是java的标识符?
你知道什么是java的方法重载吗?
java中的工厂模式是什么