JUC基础概念

文章目录

  • JUC的基础概念
    • 什么是JUC
    • 进程与线程
    • 并行与并发
    • 线程的五种状态
    • JUC的架构

JUC的基础概念

什么是JUC

JUC 是 Java.utils.concurrent 包内的类,是为了开发者可以在多线程的情况下减少竞争条件和防止死锁而出现的。

进程与线程

进程:一个进程包含多个线程。

线程:系统最小的调度单位。

进程是系统的资源分配的基本单元,一个进程拥有大量的空间与资源,线程是系统资源分配的最小单位。

Java 默认的线程:Main 线程,GC 垃圾回收线程

并行与并发

并发:CPU只有一个核,但是也多个进程同时运行,CPU快速切换进程运行,所以出现类似并行的情况。

并行:CPU多个核,一个核对应一个进程,一起运行。

线程的五种状态

 public enum State {/**线程还没开始启动的状态* 新建状态.*/NEW,/*** T运行状态.*/RUNNABLE,/*** 堵塞状态.*/BLOCKED,/*** 等待状态.*/WAITING,/*** 定时等待*/TIMED_WAITING,/*** 摧毁状态.*/TERMINATED;}

JUC的架构

img

tools:提供同步的辅助类,如 CountDownLatch(闭锁),CylicBarrier(栅栏)和Semaphore(信号量),用于线程间的协调与同步。

executor:线程池的顶级接口,ExecutorService 是其的子接口,常用的实现类有:ThreadPoolExecutor(常用),SingleThreadExecutor(单个),CachedThreadPool(缓存)。

atomic:提供原子操作,比如 AtomicBooleanAtomicInterger,一般用于多线程的环境下进行原子操作,保证操作原子性。

Locks:存放一些锁,功能更强大,比如 ReentrantLock 可重入锁,ReentrantReadWriteLock

Collections:并发集合类,比如 copyonwirteArrayListconcurrentHashMap

Collections:并发集合类,比如 copyonwirteArrayListconcurrentHashMap

我是小辉,24 届毕业生。当下是找工作ing,欢迎关注,持续分享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/670096.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言(操作符)2

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

毕业设计uniapp+vue有机农产品商城系统 销售统计图 微信小程序

本人在网上找了一下这方面的数据发现农村中的信心普及率很是低农民们都不是怎么会用手机顶多就是打打电话发发短信,平时不太会上网更不会想到通过网络手段去卖出自己的劳作成果—农产品,这无疑大大浪费了农民的劳动成果和国家资源也大大打击了人们的生产…

csrf攻击(跨站请求伪造)【2】

1.DVWA中csrf漏洞验证low (1)受害者将密码更改为password,显示更改成功 (2)受害者未退出登录状态,打开了新链接(黑客设计好的修改密码为admin123(原本为passwrod)的链接),导致受害者密码被更改&#xff0c…

安卓动态加载view

目录 前言一、addview1.1 addView 的重载方法1.2 在 LinearLayout 中的使用1.2.1 addView(View child)方法的分析:1.2.2 addView(View child, int index)方法的分析:1.2.3 小结 1.3 在 RelativeLayout 中的使用 二、addContentview2.1 测试 12.2 测试 22…

天擎V6 u盘管控 拒绝访问

故障现象: (1)客户PC安装了天擎V6客户端,并使用了移动存储-U盘管控的功能。 (2)策略采用标签授权给u盘读写权限。 (3)指纹U盘正常注册后,无法正常使用,退出天…

“先锋”西凤

执笔 | 文 清 编辑 | 古利特 制曲是酿酒的第一道工序,也是中国酿酒史上的一大创新,对白酒风味的影响至关重要。西凤酿酒人坚信“曲是酒之骨”,“曲”的品质决定酒的“骨气”,“酒曲”是酒体形成主题风味的基本定型元素和催化剂…

如何使用IntelliJ IDEA SSH连接本地Linux服务器远程开发

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接&#xf…

1W 3KVDC 隔离 稳压单输出 DC/DC 电源模块 ——TPV-SAR 系列

TPV-SAR系列产品是专门针对PCB上分布式电源系统中需要与输入电源隔离且输出精度要求较高的电源应用场合而设计。该产品适用于;1)输入电源的电压变化≤5%;2)输入输出之前要求隔离电压≥3000VDC;3)对输出电压…

【Web漏洞指南】XSS漏洞详细指南

【Web漏洞指南】XSS漏洞详细指南 概述XSS的三种类型执行任意 JS 代码的方式在原始HTML中注入绕过手法在 HTML标记内注入绕过手法在JavaScript代码中注入绕过手法其他绕过手法XSS常见有效载荷检索Cookies窃取页面内容键盘记录器查找内部IP地址端口扫描器自动填充密码捕获窃取 Po…

如何根据配置动态生成Spring的Bean?

一、问题解析 在 Spring 应用中,根据运行时的配置(比如数据库配置、配置文件、配置中心等)动态生成 Spring Bean 是一种常见需求,特别是在面对多环境配置或者需要根据不同条件创建不同实例时。 Spring 提供了几种方式来实现这一需…

【Osek网络管理测试】[TG4_TC5]唤醒条件

🙋‍♂️ 【Osek网络管理测试】系列💁‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件:VN1630 软件:CANoe 2.测试目的 验证DUT验证DUT睡眠后被唤醒,并再次睡眠能否…

磐石云最版本使用教程

磐石云外呼系统是一款集成了呼叫平台、电话线路和话术系统的软件,旨在提高企业的电话营销效率。以下是磐石云外呼系统的基本操作步骤: 安装和配置: 首先需要在Linux操作系统上安装磐石云外呼系统,通常需要至少4核CPU、8GB内存以及…