JUC概述

news2024/11/25 0:31:50

1. JUC是什么?

在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或实现起来冗长乏味。

参照JDK文档:

2. 进程和线程

进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

线程:通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。

线程多了好还是少好?
    合理最好: 一般和CPU核心数差不错最好
    1、如果程序执行的是耗时操作 线程多一些好
    2、如果程序执行的是cpu计算型操作,线程越少越好   cpu调度线程时 切换上下文也需要时间

生活实例:

​ 使用QQ,查看进程一定有一个QQ.exe的进程,我可以用qq和A文字聊天,和B视频聊天,给C传文件,给D发一段语言,QQ支持录入信息的搜索。

​ 大四的时候写论文,用word写论文,同时用QQ音乐放音乐,同时用QQ聊天,多个进程。

​ word如没有保存,停电关机,再通电后打开word可以恢复之前未保存的文档,word也会检查你的拼写,两个线程:容灾备份,语法检查

3. 并行和并发

串行:

资源:服务器中的一个文件 或者是某个接口

并发:同一时刻多个线程在访问同一个资源,多个线程对一个点

​ 例子:小米13pro今天上午10点,限量抢购

​ 春运抢票

​ 电商秒杀...

并行:多项工作一起执行,之后再汇总

​ 例子:泡方便面,电水壶烧水,一边撕调料倒入桶中

4. wait/sleep的区别

功能都是当前线程暂停,有什么区别?

wait:放开手去睡,放开手里的锁

sleep:握紧手去睡,醒了手里还有锁

wait是Object的方法,sleep是thread的方法

wait从等待时所在的行继续向后执行

5. 创建线程回顾

创建线程常用两种方式:

继承Thread:java是单继承,资源宝贵,要用接口方式

实现Runnable接口

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaEE】SpringBoot配置文件的设置及其读取

目录 配置文件作用 配置文件注意事项 properties 用法 修改字符集 优缺点 yml 用法 优缺点 读取配置文件 使用 Value注解 读properties配置文件 读yml配置文件 使用 ConfigurationProperties 注解 读properties配置文件 读yml配置文件 配置文件作用 SpringBoot的…

MCMC采样

MCMC采样 MCMC 是一种随机的近似推断,其核心就是基于采样的随机近似方法蒙特卡洛方法。而近似推断中又可以分成两大类,即为确定性近似 (VI) 和随机近似 (MCMC)。我们需要从概率分布中取 个点,从而近似计算这个积分。常用采样方法有&#xff…

开关柜绝缘状态检测与故障诊断

摘要:电力开关柜作为电力系统的关键设备广泛应用于输电配电网络,其运行可靠性直接影响着电力系统供电质量及安全性能。开关柜绝缘状态检测与故障诊断是及时维修、更换和预防绝缘故障的重要技术手段。在阐述开关柜绝缘状态评估的基础上,指出其内典型的局部…

Docker --- 基本操作、Dockerfile自定义镜像

一、Docker的基本操作 1.1、镜像操作 镜像名称 首先来看下镜像的名称组成: 镜名称一般分两部分组成:[repository]:[tag]。 在没有指定tag时,默认是latest,代表最新版本的镜像 如图: 这里的mysql就是repository&…

数据库课设--基于Python+MySQL的餐厅点餐系统(表的设计)

文章目录 一、系统需求分析二、系统设计1. 功能结构设计2、概念设计2.2.1 bill_food表E-R图2.2.2 bills表E-R图2.2.3 categories E-R图2.2.4 discounts表 E-R图2.2.5 emp表E-R图2.2.6 food 表E-R图2.2.7 member表E-R图2.2.8 member_point_bill表E-R图2.2.9 servers表E-R图2.2.1…

MySQL的事务原理和实现

一、事务属性与架构概述 1、基本概念: 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL…

为什么很多程序员不反感加班?行内人:老板给钱是真的给啊

为什么很多程序员不反感加班?行内人:说给钱老板真的给! 一提到程序员,大部分人第一反应是加班多、996、脱发,这几乎成了外界对程序员刻板印象的标配。不少知名的互联网大厂也是加班之风盛行,譬如著名的华为…

Java版企业电子招投标采购系统源码之登录页面

信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、Stre…

Centos8编译安装内核

首先下载kernel,5.x版本的内核,下载地址: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ 系统安装相关包: # yum install -y bc gcc make python3 ncurses-devel flex bison openssl-devel elfutils-libelf-devel将内…

南大通用数据库-Gbase-8a-学习-34-gcdump(导出数据库对象定义)

目录 一、测试环境 二、介绍 三、命令帮助 四、参数介绍 1、--print-defaults (1)含义 (2)例子 2、--connect_timeout (1)含义 (2)例子 3、-A, --all-databases &#xf…

软考初级考什么比较好?信息处理技术员怎么样?

软考初级信息处理技术员难度不大,零基础也是可以直接报考的,熟悉电脑,多练习就差不多了。 本考试设置的科目包括: (1)信息处理基础知识,考试时间为150分钟,笔试,选择题…

92、Nerfbusters: Removing Ghostly Artifacts from Casually Captured NeRFs

简介 主页:https://ethanweber.me/nerfbusters/ 在远离训练视图的新视图上渲染nerf可能会导致伪影,例如浮动或糟糕的几何形状。这些工件在野外捕获(a)中很普遍,但在NeRF基准测试中很少看到,因为评估视图通常从与训练视图相同的相机路径中选…

HTB_Under Construction—jwt伪造与sqlite注入

根据提示,此题目应该是代码审计类型的,文件结构如下 一般思路有两个,一是看有没有什么敏感信息,二就是看参数传递的地方能否利用,包括注入,伪造等 分析代码 index.js 先来分析入口文件,这是标…

零基础C/C++开发到底要学什么?

作者:黑马程序员 链接:https://www.zhihu.com/question/597037176/answer/2999707086 先和我一起看看,C/C学完了可以做什么: 软件工程师:负责设计、开发、测试和维护各类型的软件应用程序;游戏开发&#x…

【机智云物联网低功耗转接板】+模拟MCU快速上手

GE211是机智云自研的定制化转接板,使用 ESP32-C3-WROOM-02 通讯模块,适用于白色智能家电等设备应用。 转接板已经烧录了机智云连云的最新GAgent固件,所以不需要烧写任何软件就可以快速上手使用。 GE211板卡带有一个串口,一般是把这…

YOLOv1代码复现2:数据加载器构建

YOLOv1代码复现2:数据加载器构建 前言 ​ 在经历了Faster-RCNN代码解读的摧残后,下决心要搞点简单的,于是便有了本系列的博客。如果你苦于没有博客详细告诉你如何自己去实现YOLOv1,那么可以看看本系列的博客,也许可以帮…

同步辐射X射线断层扫描成像在各行业的应用

同步辐射X射线断层扫描成像在各行业的应用 同步辐射X射线断层扫描成像(synchrotron radiation X-ray computed tomography,SRCT)是一种非侵入式、高分辨率的成像技术,利用同步辐射光束产生的高强度、高亮度、单色性和相干性的X射线…

【C#】DockContent的使用

下载主题包和控件包 nuget Install-Package DockPanelSuite -Version 3.0.6 Install-Package DockPanelSuite.ThemeVS2015 -Version 3.0.6 在要靠的子界面继承DockContent 子界面上添加DockPanel控件,并将dock设置为fill。 主界面创建一个dockPanel1&#xff1b…

LDR6020全球第一颗PD MCU 无敌 Type-C手机背夹散热器方案

最近发现了个新玩意儿,因为经常玩游戏,手机发热的厉害,都可以煎鸡蛋了,心想着要买个东西给手机散散热,没想到还真的有手机散热器。 不知道手机散热器的也正常,毕竟一般人正常玩玩手机,发热就发…

局域网 - 高速以太网(百兆、千兆、万兆)

文章目录 1 概述1.1 802.3 物理层规范1.2 以太网标准中后缀 -T、-F、-X 含义 2 分类2.1 快速以太网(802.3μ、百兆)2.2 千兆以太网(802.3z、802.3ab)2.3 万兆以太网(802.3ae) 3 扩展3.1 网工软考真题 1 概述…