当前位置: 首页 > news >正文

自学Java-JavaSE基础加强(多线程)

自学Java-JavaSE基础加强(多线程)

  • 一、创建线程
    • 1、方式一:继承Thread类
      • 小结
    • 2、方式二:实现Runnable接口
      • 小结
    • 3、方式三:实现Callable接口
    • 4、小结
  • 二、线程的常用方法
  • 三、线程安全
    • 1、认识线程安全
    • 2、模拟线程安全问题
    • 3、小结
  • 四、线程同步
    • 1、认识线程同步
    • 2、方式一:同步代码块
      • 小结
    • 3、方式二:同步方法
      • 小结
    • 4、方式三:lock锁
      • 小结
  • 五、线程池
    • 1、认识线程池
    • 2、创建线程池
      • 小结
    • 3、处理Runnable任务
      • 小结
    • 4、处理Callable任务
      • 小结
    • 5、通过Executors创建线程池
      • 小结
  • 六、并发、并行
    • 小结

一、创建线程

1、方式一:继承Thread类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

2、方式二:实现Runnable接口

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

3、方式三:实现Callable接口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、小结

在这里插入图片描述

二、线程的常用方法

在这里插入图片描述
在这里插入图片描述

三、线程安全

1、认识线程安全

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、模拟线程安全问题

在这里插入图片描述

3、小结

在这里插入图片描述

四、线程同步

1、认识线程同步

在这里插入图片描述
在这里插入图片描述

2、方式一:同步代码块

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

3、方式二:同步方法

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

4、方式三:lock锁

在这里插入图片描述

小结

在这里插入图片描述

五、线程池

1、认识线程池

在这里插入图片描述
在这里插入图片描述

2、创建线程池

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

3、处理Runnable任务

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

4、处理Callable任务

在这里插入图片描述

小结

在这里插入图片描述

5、通过Executors创建线程池

在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

六、并发、并行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

相关文章:

自学Java-JavaSE基础加强(多线程)

自学Java-JavaSE基础加强(多线程) 一、创建线程1、方式一:继承Thread类小结 2、方式二:实现Runnable接口小结 3、方式三:实现Callable接口4、小结 二、线程的常用方法三、线程安全1、认识线程安全2、模拟线程安全问题3…...

数字后端培训实战项目六大典型后端实现案例

Q1:请教一个问题,cts.sdc和func.sdc在innovus用如何切换?在flow哪一步切换输入cts.sdc?哪一步切换到func.sdc,具体如何操作? 这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的?针对时…...

安卓免费多功能工具:一站式解决 PDF 阅读、编辑、转换等需求

软件介绍 今天要给大家介绍一款功能强大的PDF处理软件——PDFgear Android版。它是专为安卓设备打造的,完全免费,无需破解和激活就能使用。 此前,我们分享过它的桌面端,收获了大家的一致好评。今天要着重介绍的手机APP版本&…...

diffuser库使用本地模型生成图像

实验目的 使用diffuser库生成图像的文章是很多的,使用方法也并不复杂,安装库后调用现成的模型和接口即可,但是因为网络原因,模型下载总会遇到问题,对于使用服务器的研究者来说,挂梯子并不可行,…...

递归—基础算法

#基线条件和递归条件 #每个递归函数都有两部分:基线条件和递归条件。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。 #栈:栈是一种数据结构,它是一种线性数据结构&#xff0c…...

全面复习回顾——C++语法篇2

23、字符串相加 string s3;s3s1s2;cout<<s3; 24、结构体基本操作 struct student {// write your code here......string name;int age;double height0.0; };int main() {// write your code here......student s;cin>>s.name;cin>>s.age;cin>>s.hei…...

探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比

文章目录 三、算法在现代通信系统中的应用3.1 5G 通信中的应用3.1.1 信道编码与调制解调3.1.2 大规模 MIMO 技术3.1.3 案例分析&#xff1a;5G 基站与终端实现 3.2 卫星通信中的应用3.2.1 抗干扰与纠错编码3.2.2 信号处理与调制解调3.2.3 案例分析&#xff1a;卫星通信系统实例…...

Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴

注&#xff1a;本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑。 未整理去重。 Linux 入门&#xff1a;vim 鼠标不能右键粘贴、跨系统复制粘贴 foryouslgme 发布时间 2016 - 09 - 28 10:24:16 Vim 基础 命令模式&#xff08;command - mode&…...

无人机遥控器扩频技术解析!

一、扩频技术基本原理 扩频技术&#xff08;Spread Spectrum, SS&#xff09;通过将信号的频谱扩展至远大于原始带宽进行传输&#xff0c;提升抗干扰性、隐蔽性和多用户能力。其核心原理包括&#xff1a; 直接序列扩频&#xff08;DSSS&#xff09; 利用高速伪随机码&#x…...

Spring Boot API 项目中 HAProxy 与 Nginx 的选择与实践

在开发 Spring Boot 构建的 RESTful API 项目时&#xff0c;负载均衡和反向代理是提升性能与可用性的关键环节。HAProxy 和 Nginx 作为两种流行的工具&#xff0c;经常被用于流量分发&#xff0c;但它们各有侧重。究竟哪一个更适合你的 Spring Boot API 项目&#xff1f;本文将…...

OpenBMC:BmcWeb构造connect对象

OpenBMC:BmcWeb server.run-CSDN博客 server在接收了tcp连接请求后,会构造一个ConnectionType对象,然后通过post调度,运行该对象的start函数 1.ConnectionType类型 其实也就是using ConnectionType = Connection<Adaptor, Handler>;类型 由于ConnectionType实例化于…...

ORB-SLAM2源码学习(六):相机跟踪(局部地图跟踪和关键帧创建)

目录 1.局部地图跟踪 1.1 更新局部关键帧UpdateLocalKeyFrames 1.2 更新局部地图点&#xff08;来自局部关键帧&#xff09;UpdateLocalPoints() 1.3 投影匹配 2. 对比四种跟踪方式以及使用的投影匹配 3.关键帧创建 3.1 判断是否需要创建新关键帧: NeedNewKeyFrame() 3…...

WordPress使用(3)

前面文章讲述了如何利用docker进行wordpress系统的安装及相关设置&#xff0c;本文将介绍如何进行站点数据和数据库数据的备份。 1. 备份数据库 # 进入mysql容器内部 docker exec -it mysqlwp bash# 使用mysqldump 命令导出数据库 mysqldump -u root -p wordpress > wordp…...

Docker基础篇——什么是Docker与Docker的仓库、镜像、容器三大概念

大家好我是木木&#xff0c;在当今快速发展的云计算与云原生时代&#xff0c;容器化技术蓬勃兴起&#xff0c;Docker 作为实现容器化的主流工具之一&#xff0c;为开发者和运维人员带来了极大的便捷 。下面我们一起了解下什么是Docker与与Docker的仓库、镜像、容器三大概念。 …...

Gitlab配置personal access token

1.点击左上角个人账号 -> Preferences 2. 点击左边栏 Access Tokens 3. 点击Add new token &#xff0c;输入token名称&#xff0c;勾选权限&#xff08;注意截至日期 “Expiration date” 可不填&#xff09; 4. 创建成功后&#xff0c;显示token信息&#xff0c;复制到本地…...

使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)

1.打开STM32CubeMX&#xff0c;点击File->New Project&#xff0c;新建一个新工程。 2.搜索芯片型号&#xff0c;选择正确的芯片封装规格&#xff0c;准备对芯片的引脚进行配置。 进行上面的操作后&#xff0c;跳转到如下的页面。 3.选择要配置的引脚进行配置。此处我的LED是…...

django中路由配置规则的详细说明

在 Django 中,路由配置是将 URL 映射到视图函数或类视图的关键步骤,它决定了用户请求的 URL 会触发哪个视图进行处理。以下将详细介绍 Django 中路由配置的规则、高级使用方法以及多个应用配置的规则。 基本路由配置规则 1. 项目级路由配置 在 Django 项目中,根路由配置文…...

游戏引擎学习第138天

仓库:https://gitee.com/mrxiao_com/2d_game_3 资产&#xff1a;game_hero_test_assets_003.zip 发布 我们的目标是展示游戏运行时的完整过程&#xff0c;从像素渲染到不使用GPU的方式&#xff0c;我们自己编写了渲染器并完成了所有的工作。今天我们开始了一些新的内容&#…...

测试理论快速入门

软件测试的目的是什么 查出缺陷 查找程序的错误&#xff1a;测试功能是否可用&#xff0c;添加的功能是否成功添加实现 发现性能问题&#xff1a;查看响应速度是否在可接受范围内 找出兼容性问题&#xff1a;这个功能是否在多端都能成功使用&#xff0c;例如pc端和mo端 确保交…...

【PostgreSQL】如何免密使用PostgreSQL数据库内置工具

如何免密使用PostgreSQL数据库内置工具 方法 1&#xff1a;使用 .pgpass 文件自动输入密码步骤&#xff1a; 方法 2&#xff1a;使用环境变量 PGPASSWORD步骤&#xff1a; 我们在PostgreSQL数据库自带的各种工具时&#xff0c;每次使用都要输入数据库密码。比如在使用pg_dump 备…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...