自学Java的第54、55、56、57天

news2024/11/28 17:51:33

多线程

f69b1a049f6b48339df9b1a407b5658d.jpg

a9b717ecb5db47d599f9f8485944d1d5.jpg创建方式一

370f97eb68104fd5bb64a7052ca6cf8e.jpg

写法

e133266626584fa2a85ff88232b0afcd.jpg

注意:

ef4e0a88bb5c4c14b310365425d72b77.jpg 

 创建方法二

f50f433431ba4b459fa302497812f171.jpg 写法

2ebb6c8f9b194187be1f1fbc25eace49.jpg

 

f911a6955e8845a5bc55a7926995a361.jpg

 写法

889bacbc0eec46e68a6f1c694114f147.jpg

 简化:

6ea1cc69dd6f4dd892f2d4514fc72f35.jpg

 

 创建方法三

e480cf5d3e894090877108ece2202c56.jpg

e72ea23ecfda41eba00eaa7f849ed676.jpg

8e1526b82c424af385cf7b0c83187dd3.jpg

写法

a8277edc17624d5eba6b92c77afb83dd.jpg 

 Thread的常用方法

752243fe7af1447785b96342033da116.jpg

 写法

6c3209b25ce1490b869b3dfec540ac96.jpg

44c4831f836b42a3afe55cc40aad8291.jpga3fe56e5e3ec483aa24437e9d15a2fe5.jpg 

线程安全

95a475ae0f5d4779b16c2b3ad2d495d3.jpg

cf81aa99baad476399a704e0229c8b3d.jpg用程序模拟

0989d7643494431995296bd1498bdd0a.jpg ac778cb94ee74b55b4b4a4ee2117b6e5.jpg

9af4a08ce9ba41d698824f98cb52704c.jpg

 解决方法:线程同步

e45737cb00f440b18b9df430eac64478.jpg

1f44d4cd4d7d4ffe8339517521f5c143.jpg 

 方法一

同步代码块

8473d12c9362481cbced8fe8aac88389.jpg

 写法

3918290843614c21936599c49217d23b.jpg

 方法二

同步方法

e10083e7bed244b7ad525227d2f7bd9c.jpg 写法

3ae9454d4be84bd9b29bce2b1705244b.jpg

 方法三

Lock锁

53e7be64d70543a1a5908fddade180ef.jpg

写法

55cf6dab4a2d4cb49a7cfaabb853561b.jpg

 

线程通信(了解)

2e644322052c4d408d065b4f314ef8eb.jpg

16409eabbfc84ae69cc1e39216d7d88a.jpg

模型

759af97f119043e894f5c179427436f8.jpg写法

cca2c09e7ed246bc8aa25f389910d816.jpg

7c7c11859720403ab40728a26c209625.jpg

线程池

ffda4eaf600d4b3e93abc17811bc4142.jpg

6bc6d4b5963643678d97e3d804954046.jpg 

如何创建线程池

056834ac43494ac2b553c2dfa14de47f.jpg

方法一

2b2319dfa1014c8fbc80452f2050caf5.jpg

 写法

4e0ea865fcc24323bfd7e5ecbd27a23c.jpg cc68b2b7c52c4ff69366a4ca486e6920.jpg

 方法二

Executors工具类实现线程池

6a5cff25aad041c7bef7d08902bcb77e.jpg

写法

e5a6e7d77be0403fa8944112ff9394dd.jpg

注意 37067568610b44529c43590d11201fda.jpg

线程池处理Runnable任务

0b7c6e850e6b40dca8eca16999cccb7f.jpg

 写法

d818a8c010144ee994b9823c2d1244c2.jpg

e3465b6c499c4aa88497dbc3541e9e5c.jpg 拒绝策略

faef3716da884cfa9a39f789aa5d860f.jpg

 

 线程池处理Callable任务

4185f474e24c4662bb0ed979e26433f6.jpg

 写法

163c002899c5422993a7c182ae4671a0.jpg

db27089123d1494d81abba9fb2374471.jpg 

并发、并行

43dbc0537b0e456f865d519f8a2458e7.jpg

dde3cece8f174e57a21173a96c92e1e2.jpga5aa182a5b2e4fa68712cbd34c3300ac.jpg 

多线程是并发和并行同时进行

 

线程的生命周期

71587ae78667470b89862f586a935bcd.jpg9ed93661f8a643f986db0e69b7a974a4.jpg ee72a23c7f954b87a13bcaed60eb14b6.jpg

 

拓展:悲观锁和乐观锁

945b4e4059144a4099c1667fecc079ef.jpg

写法 

悲观锁

dbcf6eee7a344f209b23acc91cfe1d0a.jpg

 乐观锁

ebe2a5440c1d4142822af7f1339578bf.jpg

 

案例

f656302429714e4c940d04cf69ec946e.jpg

 写法

212a9816f58444238a105b36aeebce0c.jpg

8abbb617341d48339751eb173e45f076.jpg 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

壹[1],Xamarin开发环境配置

1,环境 VS2022 注: 1,本来计划使用AndroidStudio,但是也是一堆莫名的配置让人搞得很神伤,还是回归C#。 2,MAUI操作类似,但是很多错误解来解去,且调试起来很卡。 3,最…

企业计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密流程

网络是一把双刃剑,随着网络技术的不断发展与应用,企业的生产效率大大提升,企业的数据安全关乎着企业的发展,保护好企业的数据直观重要,近期,云天数据恢复中心接到很多企业的求助,企业的计算机服…

Mistral-7B本地运行【Ollama】

Mistral AI 目前提供两种类型的大型语言模型访问方式: 提供按使用量付费访问最新模型的 API,开源模型可在 Apache 2.0 许可证下使用,可在 Hugging Face 上或直接从文档中获取。 在本指南中,我们概述了 Mistral 7B LLM 以及如何提…

多核CPU 缓存一致性(总线嗅探、MESI协议)

内存与CPU缓存的写一致性 CPU Cache 通常分为三级缓存:L1 Cache、L2 Cache、L3 Cache,级别越低的离 CPU 核心越近,访问速度也快,但是存储容量相对就会越小。其中,在多核心的 CPU 里,每个核心都有各自的 L1/…

孪生卷积神经网络(Siamese Convolutional Neural Network)的设计思路

孪生卷积神经网络(Siamese Convolutional Neural Network)是一种特殊类型的卷积神经网络,主要用于处理需要成对比较的数据,例如判断两个输入是否相似。 以下是孪生卷积神经网络的基本结构: 输入层:这一层…

python IDLE无法打开,提示错误#10051 向一个无法连接的网络尝试了一个套接字操作。

系统:Windows 10 软件:python 3.9.13 打开软件提示错误#10051 向一个无法连接的网络尝试了一个套接字操作。软件自动闪退。 解决方法: 可能是系统自动更新的问题或其他问题,导致防火墙阻止python连接本地端口。在防火墙上建立通…

win10使用IE访问某些特殊地址的极简办法(成功有效)

前言:看了好多其它办法,都没什么作用~ 1、打开win10默认的Edge浏览器的设置:点击右上角的三个点,然后里面有个设置选项 2、找到默认浏览器选项 3、添加你要访问的地址 5、在Edge中去访问你要访问的地址,就好了

非接触式激光测厚仪 单点/三点/多点在线测厚设备

关键字: 非接触式激光测厚仪, 板材厚度检测,激光测厚仪,单点测厚仪,三点测厚仪,多点测厚仪,扫描式激光测厚仪, 厚度是各类板材品质必检的尺寸之一 在实际测量中,板材厚度的测量,尤其是宽板中间位置的厚度尺寸测量,是一项较为困难的工作。为此…

揭秘二进制之谜:为何-128与+128的二进制表示相同,都是1000 0000?

8位有符号整数-128的二进制码是1000 0000,而128的二进制码也是1000 0000,你是不是觉得很奇怪? 下面就让我来解释一下。 从-128到127的跨越 8位二进制数能够表示2^8共256个不同的值,从0000 0000到1111 1111。在8位有符号整数的世…

【2024】大三寒假再回首:缺乏自我意识是毒药,反思和回顾是解药

2024年初,学习状态回顾 开稿时间:2024-1-23 归家百里去,飘雪送客迟。 搁笔日又久,一顾迷惘时。 我们饱含着过去的习惯,缺乏自我意识是毒药,反思和回顾是解药。 文章目录 2024年初,学习状态回顾一…

带大家详细了解msvcr120.dll丢失的原因,msvcr120.dll丢失怎样修复的方法

在使用电脑和运行应用程序时,我们经常会遇到与动态链接库(Dynamic Link Library, DLL)文件相关的错误。其中之一是 "msvcr120.dll 丢失" 的错误提示。今天我们就来详细的了解一下msvcr120.dll这个文件和分享msvcr120.dll丢失怎样修…

18- OpenCV:基于距离变换与分水岭的图像分割

目录 1、图像分割的含义 2、常见的图像分割方法 3、距离变换与分水岭介绍 4、相关API 5、代码演示 1、图像分割的含义 图像分割是指将一幅图像划分为若干个具有独立语义的区域或对象的过程。其目标是通过对图像进行像素级别的分类,将图像中不同的区域或对象分离…

MySQL原理(四)索引(3)索引失效与索引区分度

一、索引失效: 首先未使用索引列作为查询条件索引是肯定会生效的,还有其他的情况,索引列做为了查询条件也失效了: ALTER TABLE staffs ADD INDEX idx_staffs_nameAgePos(NAME, age, pos); 1、select 语句、order by语句&#xf…

TensorFlow2实战-系列教程5:猫狗识别2------数据增强

🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 猫狗识别1 数据增强 猫狗识别2------数据增强 猫狗识别3------迁移学习 1、猫狗识别任…

国家级专精特新“小巨人”第一至五批名单

国家级专精特新“小巨人”第一至五批名单 1、来源:工信部 2、样本量:1.29W第一批企业共248家,A股上市35家;第二批企业共1744家,A股上市157家;第三批企业共2930家,A股上市119家;第四…

【C++干货铺】哈希结构在C++中的应用

目录 unordered系列关联式容器 unordered_map unordered_map的接口说明 1.unordered_map的构造 2. unordered_map的容量 3. unordered_map的迭代器 4. unordered_map的元素访问 5. unordered_map的查询 6. unordered_map的修改操作 7. unordered_map的桶操作 底层结构 …

【知识点】设计模式

创建型 单例模式 Singleton:确保一个类只有一个实例,并提供该实例的全局访问点 使用一个私有构造方法、一个私有静态变量以及一个公有静态方法来实现。私有构造方法确保了不能通过构造方法来创建对象实例,只能通过公有静态方法返回唯一的私…

Qt实现窗口吸附屏幕边缘 自动收缩

先看效果: N年前的QQ就可以吸附到屏幕边缘,聊天时候非常方便,不用点击状态栏图标即可呼出QQ界面 自己尝试做了一个糙版的屏幕吸附效果。 关键代码: void Widget::mouseMoveEvent(QMouseEvent *e) {int dx e->globalX() - l…

C语言基础:写一个函数,输入一行字符,将此字符串最长的单词输出

方法一&#xff1a; #include<string.h> int find_longest(char line[])//把数组传过来 {int is_alphabetic(char word);int i 0;int length 0;//统计每个字符串的长度int max 0;//比max长就把值赋值给maxint place 0;//最长单词的起始位置int point;//每个字符串第…

暴搜,回溯,剪枝

力扣77.组合 class Solution {List<List<Integer>>retnew ArrayList<>();List<Integer>pathnew ArrayList<>();int n; int k;public List<List<Integer>> combine(int _n, int _k) {n_n;k_k;dfs(1);return ret;}public void dfs(int…