进程和线程的区别

什么是进程

进程的定义:
进程是程序的一次执行,应用程序以进程的形式,运行于操作系统之上,享受操作系统提供的服务。
 
进程的结构:
一般来说,一个进程一般由程序段、数据段和进程控制块三部分组成。
进程的大致结构
 
java程序的进程:
java编写的程序都运行在java虚拟机(JVM)中,每当使用java命令启动一个java程序时,就会启动一个JVM进程。在这个JVM进程内部,所有java程序代码的运行都是以线程来运行的。

什么是线程

线程的定义:
线程是指“进程代码段”的一次顺序执行流程。线程是cpu调度的最小单位。一个进程可以有多个线程,各个线程共享进程的内存空间、系统资源,进程是操作系统资源分配的最小单位。
 
线程的大致结构:
一个标准的线程主要有以下三部分组成:线程描述信息、程序计数器(PC)和栈内存组成。
线程的大致结构
 
java程序的主线程:
JVM找到程序的main()方法,让后运行main()方法,这就产生了一个线程,这个线程称为主线程。当main()方法结束后,主线程运行完成。JVM进程也随机退出。

进程与线程的区别

(1)线程是"进程代码段”的一次的顺序执行流程。一个进程由一个或多个线程组成,一个进程至少有一个线程。
(2)线程是CPU调度的最小单位,进程是操作系统分配资源的最小单位。线程的划分尺度小于进程,使得多线程程序的并发性高。
(3)线程是出于高并发的调度诉求,从进程内部演进而来。线程的出现,既充分发挥CPU的计算性能,弥补进程调度的过于笨重。
(4)进程之间是相互独立的,但进程内部各个线程之间,并不完全独立。各个线程之间共享进程的方法区内存、堆内存、系统资源(文件句柄、系统信号等等)。
(5)切换速度不同:线程上下文切换比进程上下文切换要快得多。所以,有的时候,线程也称之为轻量级进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值