阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

区分Java线程与进程

76次阅读
没有评论

共计 1743 个字符,预计需要花费 5 分钟才能阅读完成。

导读线程?进程?会不会傻傻分不清楚?应该如何更好的去理解 JAVA 中的线程进程从而将他们的价值作用有效发挥到极致呢。接着往下看吧,最详细的线程进程介绍。

在 JAVA 中几乎任何的操作系统都支持运行多个任务,通常一个任务就是一个程序,而一个程序就是一个进程。当一个进程运行时,内部可能包括多个顺序执行流,每个顺序执行流就是一个线程。

区分 Java 线程与进程

一、什么是进程

进程是资源 (CPU、内存等) 分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配 CPU 时间,程序开始真正运行。进程的优点是提高 CPU 运行效率,在同一时间内执行多个程序,即并发执行。但是从严格上讲, 也不是绝对的同一时刻执行多个程序,只不过 CPU 在执行时通过时间片等调度算法不同进程高速切换。进程类似于人类,是被产生的,有或长或短的有效生命,可以产生一个或多个子进程,最终都要消亡的。每个子进程都只有一个父进程。在这里顺带提下,Linux 里通过调用 fork()函数产生子进程。子进程在创建时,它几乎和父进程相同。它是从父进程的地址空间 copy 过来的。尽管它们可以共享有程序代码的页,但是它们各自有独立的数据空间。对子进程内存的修改不会影响父进程,反之亦然。

二、什么是线程

线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是 CPU 调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由 CPU 独立调度执行,在多 CPU 环境下就允许多个线程同时运行。同样多线程也可以实现并发操作,每个请求分配一个线程来处理。线程是一条可以执行的路径。多线程就是同时有多条执行路径在同时 (并行) 执行。

三、线程与进程的特点
(1)进程特点:

1:独立性:进程是系统中独立存在的实体,它可以独立拥有资源,每一个进程都有自己独立的地址空间,没有进程本身的运行,用户进程不可以直接访问其他进程的地址空间。

2:动态性:进程和程序的区别在于进程是动态的,进程中有时间的概念,进程具有自己的生命周期和各种不同的状态。

3:并发性:多个进程可以在单个处理器上并发执行,互不影响。

(2)线程特点

1:轻型实体

线程中的实体单位基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括程序、数据和 TCB。线程是动态概念,他的动态特性由线程控制块 TCB 描述。

2:独立调度和分派的基本单位

再多线程 OS 中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。但由于线程很“轻”,故线程的切换非常迅速且开销小(在统一进程中的)。

3:可并发执行

在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行; 同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。

4:共享进程资源

在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味者,线程可以访问该地址空间的每一个虚地址; 此外,还可以访问该进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

四、进程和线程的区别:

1、容易创建新线程。但是,创建新进程需要重复父进程。

2、线程可以控制同一进程的其他线程。进程无法控制兄弟进程,只能控制其子进程。

3、进程拥有自己的内存空间。线程使用进程的内存空间,且要和该进程的其他线程共享这个空间; 而不是在进程中给每个线程单独划分一点空间。

4、(同一进程中的)线程在共享内存空间中运行,而进程在不同的内存空间中运行。

5、线程可以使用 wait(),notify(),notifyAll()等方法直接与其他线程 (同一进程) 通信; 而,进程需要使用“进程间通信”(IPC)来与操作系统中的其他进程通信。

以上就是关于大数据开发基础之 JAVA 线程进程的基础知识,学以致用是大数据里面最好的学习方式,能让你快速在行业中占领一席之地。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1743字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中