吃透Java并发一:并发基础概念

本文介绍了并发与并行的概念,强调在单CPU系统中并发是通过时间片技术实现的。接着讲解了进程与线程的区别,其中线程是Java中CPU调度的最小单位。然后详细阐述了Java线程调度策略,包括抢占式调度和协同式调度,并指出Java采用抢占式调度。最后讨论了多线程编程的优缺点,指出在一定条件下,多线程并不一定比串行快。

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

一、并发与并行

并发:对于单CPU的计算机来说,在CPU中,同一时间只能干一件事儿的。为了看起来像是“同时干多件事”,分时操作系统把CPU的时间划分成长短基本相同的”时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所”停顿”,但用户察觉不出来,好像整个系统全由它”独占”似的。
所以,在单CPU的计算机中,我们看起来“同时干多件事”,其实是通过CPU时间片技术,并发完成的。

说到并发还有一个概念容易引起混淆“并行”

什么是并行?
并行(Parallel),当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

并发是两个队伍交替使用一台饮水机。并行是两个队伍同时使用两台饮水机。

二、进程与线程

进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃透Java

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值