谷粒商城实战(011 业务-异步多线程)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第193p-第p202的内容


介绍

在这里插入图片描述

在这里插入图片描述

继承Thread

在这里插入图片描述

继承Runnable接口

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

继承callable

FutureTask继承的就是runnable
在这里插入图片描述

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

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

线程池

在这里插入图片描述
在这里插入图片描述
代表有10个线程来等待接收我们的任务
在这里插入图片描述

.submit方法可以存在返回值
.execute 无返回值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

线程池七大参数

在这里插入图片描述

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

核心线程满了之后,任务塞进任务队列中,队列满了才是创建非核心线程

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

在这里插入图片描述

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

ctrl+h查看类继承关系 查看队列
在这里插入图片描述
LinkedBlockingDeque 指定一个最大值 (有界队列)
在这里插入图片描述
拒绝策略
可以丢弃最老的
可以直接丢弃这个任务
可以把他变成同步方法,在当前的线程里直接调用
这里默认是直接丢弃这个任务
在这里插入图片描述
在这里插入图片描述

面试题

在这里插入图片描述

这种是变成同步 发现线程池未关 直接调用.run方法
在这里插入图片描述
在这里插入图片描述

常见的四种线程池

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

P195

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

如果线程池里就定义200个线程 那cpu就只在这200个里进行切换 节省cpu时间片轮转的资源和时间浪费 线程恢复

业务

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

有返回值的
在这里插入图片描述

在这里插入图片描述
结果阻塞了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

綫程串行化

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

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

在这里插入图片描述

两任务组合

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

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

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

多任务组合

在这里插入图片描述

阻塞式等待(不推荐 等待时间太长)
在这里插入图片描述

直接使用allOf方法(推荐)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

正确写法 在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

anyOff

在这里插入图片描述

在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高并发秒杀系统

六种手段: 1.页面静态化 商品秒杀页面做静态化处理,常规请求不会到服务端。 2.cdn内容分发 将前端资源缓存到cdn上,就近分发给不同区域的客户端; 秒杀开始后将新的js文件同步到cdn上; 前端加一个控制器&#xff…

看看《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制山鸢尾萼片长度和萼片宽度的小提琴图

使用MATLAB绘制鸢尾花数据集( fisheriris)中山鸢尾( Iris Setosa)的萼片长度和 萼片宽度的小提琴图。这将帮助我们更好地了解山鸢尾的这两个特征的数据分布情况,包括它们的 中位数、四分位范围及密度估计。这种可视化工…

老杜spring6自己笔记

精讲 【Spring视频零基础入门到高级,spring全套视频教程详解】 https://www.bilibili.com/video/BV1Ft4y1g7Fb/?p12&share_sourcecopy_web&vd_source833390c85450e4ff7747a5f16c02cc1e 老杜spring6网盘资料: 链接:https://pan.bai…

cesium 添加动态波纹效果 圆形扩散效果 波纹材质

一、扩展材质 /*** 水波纹扩散材质* param {*} options* param {String} options.color 颜色* param {Number} options.duration 持续时间 毫秒* param {Number} options.count 波浪数量* param {Number} options.gradient 渐变曲率*/function CircleWaveMaterialProperty(opt…

CF938Div3(A-F)

A: 买n个酸奶&#xff0c;一次一瓶a元,一次买两瓶可以优惠价b元,也可以a元,问恰好买n瓶需要多少钱. void solve() {int n, a, b;cin >> n >> a >> b;int ans min(a * n, n / 2 * b n % 2 * a);cout << ans << endl; } B: 给你一个数组,问能…

pdfjs-4.0.379-dist直接打开viewer.html报错

下载了pdfjs-4.0.379-dist&#xff0c;但是直接打开viewer.html报错。解决方法&#xff1a;安装live Sever&#xff0c;并用live Server打开 打开浏览器截图 错误提示如下&#xff1a; Access to image at file:///D:/work/web-common/car-knowledge-base-web/static/pdfjs-4…

OJ 栓奶牛【C】【Python】【二分算法】

题目 算法思路 要求的距离在最近木桩与最远木桩相隔距离到零之间&#xff0c;所以是二分法 先取一个中间值&#xff0c;看按照这个中间值可以栓多少奶牛&#xff0c;再与输入奶牛数比较&#xff0c;如果大于等于&#xff0c;则增大距离&#xff0c;注意这里等于也是增大距离…

AcWing1262.鱼塘钓鱼

【题目链接】1262. 鱼塘钓鱼 - AcWing题库 输入样例&#xff1a; 5 10 14 20 16 9 2 4 6 5 3 3 5 4 4 14输出样例&#xff1a; 76 【代码及详细注释】 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N110; int a[N],b[N],sp[N],d[N]…

Unity Pro 2019 for Mac:专业级游戏引擎,助力创意无限延伸!

Unity Pro 2019是一款功能强大的游戏开发引擎&#xff0c;其特点主要体现在以下几个方面&#xff1a; 强大的渲染技术&#xff1a;Unity Pro 2019采用了新的渲染技术&#xff0c;包括脚本化渲染流水线&#xff0c;能够轻松自定义渲染管线&#xff0c;通过C#代码和材料材质&…

Day36:LeedCode 435. 无重叠区间 763.划分字母区间 56. 合并区间 蓝桥杯 管道

435. 无重叠区间 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 示例 1: 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后&#xff0c;剩下的区间…

Python 编程 深入了解内存管理机制、深拷贝与浅拷贝

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、对象和引用、内存管理机制 Python 中的一切都是对象&#xff0c;包括数字、字符串、列表和函数等。为了简化内存管理并提高效率&#xff0c;Python 采用了统一的对象模型。在这个模型中&#xff0c…

c++——sort()函数

一、代码和效果 #include<bits/stdc.h> using namespace std;int main() {int a[6]{1,45,2,5,456,7};sort(a,a6);for(int i0; i<6; i){cout<<a[i]<<" "<<endl;}return 0; } 二、sort函数解析 &#xff08;从小到大&#xff09; std::so…

【C++】lambda表达式

目录 一、lambda表达式1.1 C98中的例子1.2 lambda表达式语法1.3 函数对象与lambda表达式 一、lambda表达式 1.1 C98中的例子 如果要对一个数据集合进行排序&#xff0c;可以使用sort函数&#xff1a; int main() {int array[] { 4,1,8,5,3,7,0,9,2,6 };// 默认按照小于比较…

15.leetcode---逆波兰表达式求值(Java版)

题目链接: https://leetcode.cn/problems/8Zf90G/description/ 题解: 栈 代码: 测试

并发编程——5.JMM、可见性和有序性及volatile的底层实现原理

这篇文章我们来讲一下JMM和其相关的内容。 目录 1.JMM模型的介绍 2.volatile的底层原理 3.有序性的介绍 3.1as-if-serial原则 3.2happen-before原则 4.内存屏障 5.小结 1.JMM模型的介绍 首先&#xff0c;我们来看一下JMM模型。 这是一张多核CPU的并发缓存架构图。我们…

CloudCompare——win11配置CloudComPy

CloudComPy配置 1 基本环境介绍2 安装Anaconda2.1 下载anaconda2.2 安装anaconda2.3 配置镜像源2.4 更改虚拟环境的默认创建位置2.5 其他问题2.5.1 激活自己创建的环境提示&#xff1a;系统找不到指定的路径2.5.2 InvalidVersionSpecError: Invalid version spec: 2.72.5.3 卸载…

JS-27-操作表单

用JavaScript操作表单和操作DOM是类似的&#xff0c;因为表单本身也是DOM树。 不过表单的输入框、下拉框等可以接收用户输入&#xff0c;所以用JavaScript来操作表单&#xff0c;可以获得用户输入的内容&#xff0c;或者对一个输入框设置新的内容。 一、HTML表单的输入控件 H…

Capture One 23 Enterprise for Mac中文版 全面的图像处理工具

Capture One 23 Enterprise for Mac中文版一款专业的图像编辑和管理软件&#xff0c;具备强大的功能和工具&#xff0c;适用于摄影师、摄影工作室和专业用户。 软件下载&#xff1a;Capture One 23 Enterprise for Mac中文版下载 该软件为用户提供了全面的图像处理工具&#xf…

fastapi的安装

使用pip安装 安装fastapi的语句 pip install fastapi 可以使用国内阿里云镜像源进行安装&#xff0c;会快很多 pip install fastapi -i https://mirrors.aliyun.com/pypi/simple api启动依赖于uvicorn&#xff0c;还需要安装uvicorn pip install uvicorn -i https://mirr…

Spring之AOP的详细讲解

目录 一.SpringAOP是什么&#xff1f; 1.1理论知识点 1.2简单的AOP例子 二.SpringAOP的核心概念 2.1切点(Pointcut) 2.2通知&#xff08;Advice&#xff09; 2.3切⾯(Aspect) 2.4通知类型 2.5切⾯优先级 Order 2.6切点表达式 2.6.1 execution表达式 2.6.2annotati…