• 让天下没有难学的技术
    多数学员都来自推荐,这就是口碑的力量

Java多线程-进程和线程的区别

什么是进程,什么是线程

系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序;

每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到。

当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。

java培训学习进程和线程的区别

关于进程的特性

独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。

动态性:进程与程序的区别在于,程序是静态的,进程是动态的。程序只是一个静态的指令集合,而进程是一个正在系统中运行的指令集合。有了时间的概念,如生命周期;

并发性:进程之间,交替着执行。

线程,一个顺序执行流;

它是进程的组成部分,一个进程可以有多个线程。

关于线程的特性

1、进程之间不能共享内存,单线程之间共享内存非常的容易

2、系统创建进程需要为该进程重新分配系统资源,但创建线程的代价很小。因此多线程的实现多任务并发比多进程实现并发的效率高

3、java语言内置多线程功能支持,而不是单纯的作为底层操作系统的调度方式

进程与线程的区别
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行。

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

了解更多java培训课程内容相关技术欢迎关注尚硅谷教育!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注