并发-线程池

news2024/9/28 11:25:31

阻塞队列

笔记地址
点击进入

队列:先进先出
限定在一端进行插入,一端进行删除
出队为队头,入队为队尾

阻塞队列 BlockingQueue

在这里插入图片描述

Queue接口继承Collection接口
		添加元素:add(),队列满了对抛出异常
							offer(),队列满了不会抛出异常,返回false,不会抛异常
		删除元素:remove(),有元素则返回移除的元素,为空的话则抛出异常
							poll(),有元素则返回移除的元素,为空的话则返回null
		获取队首元素:
						element():抛异常
						peek():不抛异常

BlockQueue:
多了两个方法:会进行阻塞
put()
take()

在这里插入图片描述

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

线程池

1:如何设置线程池的核心线程数和最大线程数4
我们对线程池负责执行的任务分为三种情况:
CPU密集型任务:比如找出1-1000000的素数:理论是CPU核数+1
IO密集型任务:比如文件io 网络io
混合任务
我们可以按以下公式进行【理论】:
线程数 = CPU核心数*(1+线程等待时间/线程运行总时间)
现实工作中经常用压测的方法来估算
工具:Jmeate、PostApi
2:线程池下
在这里插入图片描述
线程池的五种状态

在这里插入图片描述

running
shutdown:会把队列中的任务处理完
stop:不会处理队列中的任务
tidying:所有的线程停掉之后就会变成这个状态
terminated:

在这里插入图片描述

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

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

相关文章

【二分】搜索旋转数组

文章目录 不重复数组找最小值,返回下标重复数组找最小值,返回下标不重复数组找target,返回下标重复数组找target,返回bool重复数组找target,返回下标 不重复数组找最小值,返回下标 class Solution {public …

js中作用域的理解?

1.作用域 作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说,作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() {let inVariable "函数内部变量"; } myFunction();//要先执行这…

SOLIDWORKS提高装配效率的方法:随配合复制

SOLIDWORKS用户在工程装配设计中会经常遇到这样的问题,在同一个装配体中某个零件需要调入多次,虽然装配位置可能不同,但是配合方式基本一致,传统的方法是多次插入该零件,然后添加配合关系,过程比较繁琐&…

多传感器时间同步

文章目录 存在的问题可能的解决方法 存在的问题 不同的传感器记录的时间存在差异,若是不进行同步操作,会导致融合结果异常,这是我可视化后的轨迹,存在大幅度抖动。 未同步的imu和gps融合 gps轨迹 可能的解决方法 在ROS中&am…

vite+vue3配置环境变量

首先在项目根目录添加环境文件,比如有测试环境、开发环境、生产环境: 环境说明 .env:所有环境都会加载.env.development:开发环境加载.env.production:生产环境加载.env.test:测试环境加载 语法说明 变量…

《存储IO路径》专题:数据魔法师DMA

初识DMA 大家好,今天我要给大家介绍一位在计算机世界中不可或缺的魔法师——DMA(Direct Memory Access)。让我们一起揭开这位魔法师的神秘面纱,看看它是如何让数据在内存之间自由穿梭的。 DMA这位魔法师可是大有来头。在现代计算机系统中,CPU、内存和各种设备之间需要进…

【微服务】05-网关与BFF(Backend For Frontend)

文章目录 1.打造网关1.1 简介1.2 连接模式1.3 打造网关 2.身份认证与授权2.1 身份认证方案2.1.1 JWT是什么2.1.2 启用JwtBearer身份认证2.1.3 配置身份认证2.1.4 JWT注意事项 1.打造网关 1.1 简介 BFF(Backend For Frontend)负责认证授权,服务聚合,目标…

TMS FlexCel Studio for VCL and FireMonkey Crack

TMS FlexCel Studio for VCL and FireMonkey Crack FlexCel for VCL/FireMonkey是一套允许操作Excel文件的Delphi组件。它包括一个广泛的API,允许本机读取/写入Excel文件。如果您需要在没有安装Excel的Windows或macOS机器上阅读或创建复杂的电子表格,Fle…

skywalking服务部署

一、前言 Apache SkyWalking 是一个开源的分布式跟踪、监控和诊断系统,旨在帮助用户监控和诊断分布式应用程序、微服务架构和云原生应用的性能和健康状况。它提供了可视化的分析工具,帮助开发人员和运维团队深入了解应用程序的性能、调用链和异常情况 …

spring整合MybatisAOP整合PageHelper插件

一,spring集成Mybatis的概念 Spring 整合 MyBatis 是将 MyBatis 数据访问框架与 Spring 框架进行集成,以实现更便捷的开发和管理。在集成过程中,Spring 提供了许多特性和功能,如依赖注入、声明式事务管理、AOP 等 它所带来给我们的…

C++笔记之静态成员函数可以在类外部访问私有构造函数吗?

C笔记之静态成员函数可以在类外部访问私有构造函数吗? code review! 静态成员函数可以在类外部访问私有构造函数。在C中,访问控制是在编译时执行的,而不是在运行时执行的。这意味着静态成员函数在编译时是与类本身相关联的,而不…

Linux(基础篇一)

Linux基础篇 Linux基础篇一1. Linux文件系统与目录结构1.1 Linux文件系统1.2 Linux目录结构 2. VI/VIM编辑器2.1 vi/vim是什么2.2 模式间的转换2.3 一般模式2.4 插入模式2.4.1 进入编辑模式2.4.2 退出编辑模式 2.5 命令模式 3. 网络配置3.1 网络连接模式3.2 修改静态ip3.3 配置…

ubuntu下自启动设置,为了开机自启动launch文件

1、书写sh脚本文件 每隔5秒钟启动一个launch文件,也可以直接在一个launch文件中启动多个,这里为了确保启动顺利,添加了一些延时 #! /bin/bash ### BEGIN INIT sleep 5 gnome-terminal -- bash -c "source /opt/ros/melodic/setup.bash…

4.12 TCP 连接,一端断电和进程崩溃有什么区别?

目录 TCP keepalive TCP 的保活机制 主机崩溃 进程崩溃 有数据传输的场景 客户端主机宕机,又迅速重启 客户端主机宕机,一直没有重启 TCP连接服务器宕机和进程退出情况总结 TCP keepalive TCP 的保活机制 TCP 保活机制需要通过 socket 接口设置 S…

算法学习——递归

引言 从这个专栏开始,我们将会一起来学习算法知识。首先我们要一起来学习的算法便是递归。为什么呢?因为这个算法是我很难理解的算法。我希望通过写这些算法博客;来加深自己对于递归算法的理解和运用。当然,学习算法最快的方式便是…

一文解析block io生命历程

作为存储业务的一个重要组成部分,block IO是非易失存储的唯一路径,它的生命历程每个阶段都直接关乎我们手机的性能、功耗、甚至寿命。本文试图通过block IO的产生、调度、下发、返回的4个阶段,阐述一个block IO的生命历程。 一、什么是块设备…

Python“牵手”lazada商品列表数据,关键词搜索lazadaAPI接口数据,lazadaAPI接口申请指南

lazada平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,lazadaAPI接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问lazada平台的数据,包括商品信息、店铺信息、物流信息等,从而实现la…

安装启动yolo5教程

目录 一、下载yolo5项目 二、安装miniconda(建议不要安装在C盘) 三、安装CUDA 四、安装pytorch 五、修改配置参数 六、修改电脑参数 七、启动项目 博主硬件: Windows 10 家庭中文版 一、下载yolo5项目 GitHub - ultralytics/yolov5:…

C++笔记之智能指针和单例、依赖注入结合使用

C笔记之智能指针和单例、依赖注入结合使用 code review! 文章目录 C笔记之智能指针和单例、依赖注入结合使用例1.一个类不使用单例,另一个类使用单例例2.两个类都使用单例,并且通过getInstance()传入类的实例例3.std::make_unique不能访问私有的构造函…

python将png格式的图片转换为jpg格式的图片

png图片是4通道 RGBA图像,具有4个通道(红色、绿色、蓝色和透明度),用于表示彩色图像以及透明度信息。 只是简单的修改后缀,并不能将png格式图片改为jpg格式。 将png格式的图片转换为jpg格式的图片 确保安装了pillow库…