[Java基础复习]进程线程,同步异步和并发并行

本文详细解释了进程和线程的概念及其区别,包括资源分配、执行单位的不同,并介绍了线程调度方式(分时调度和抢占式调度)、同步与异步的区别以及并发与并行的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程和进程

进程:指在系统中正在运行的一个应用程序(但是现在也有很多应用软件是多进程的);程序一旦运行就是进程;或者更专业化来说:进程是指程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。
线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。
进程——资源分配的最小单位,线程——程序执行的最小单位。

线程调度

1、分时调度
所有线程轮流使用CPU使用权,平均分配每个线程使用CPU的时间

2、抢占式调度
优先让优先级高的线程使用,如果线程的优先级一样则随机分配。Java就是使用这种模式

CPU使用抢占式调度一般是高速运行,所以对于人而言并不能感受到切换的区别,造成一种所有线程都一起运行的假象。多线程不能提高程序的运行速度,但是可以提高效率。比如输入这个线程,它需要等。如果你在等待输入的时候可以切换线程让其他线程先跑,那么就提高了效率。但是因为处理时间和等待输入的时间都是固定的,所以并没有提升速度。

同步和异步

同步:排队执行 , 效率低但是安全.
异步:同时执行 , 效率高但是数据不一定安全.

并发和并行

并发:指两个或多个事件在同一个时间段内发生。
一般我们说并发会说 一天内的并发量,一小时内的并发量,一秒内的并发量。会特地规定一个单位时间

并行:指两个或多个事件在同一时刻发生(同时发生)。
而并行就指的是同时发生。比如现在有三个程序/进程/线程并行,就是说当前有三个程序一起在跑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值