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

用饭店来形象比喻线程池的工作原理

一、线程池解决的问题?
使用线程池主要解决在程序中频繁创建和销毁线程导致的资源浪费,线程池可以维护一定量的线程来执行所需要的任务,维护的线程也可以重复使用。

二、用形象的饭店来解释工作原理
线程池就相当于一家饭店,

任务就相当于来饭店吃饭的客人

线程就相当于饭店的厨师

队列就相当于饭店外面提供排队的板凳

三、工作原理
如图:


四、类似于餐厅的工作原理
客人前来点餐

 

餐厅分配正式厨师做饭

如果正式厨师不够用,就去排队

如果外面的排队小板凳用完,餐厅会招聘临时厨师做饭

如果临时厨师也用完,也没有办法排队就使用拒绝策略

放弃这个客户

让客户自己做饭吃

上报错误

丢弃让最先排队的客户,为当前客户做饭

上报错误(没有原因)

如果所有客户都有饭吃了,那么临时厨师和正式厨师就等待新客户

临时厨师等一定时间还没有客户就被辞退

正式厨师将一直等待新客户
 

 

相关文章:

用饭店来形象比喻线程池的工作原理

一、线程池解决的问题? 使用线程池主要解决在程序中频繁创建和销毁线程导致的资源浪费,线程池可以维护一定量的线程来执行所需要的任务,维护的线程也可以重复使用。 二、用形象的饭店来解释工作原理 线程池就相当于一家饭店, 任…...

GO学习笔记之表达式

GO学习笔记之表达式 保留字运算符优先级二元运算符位运算符自增指针 保留字 Go语言仅25个保留关键字(keyword),这是最常见的宣传语,虽不是主流语言中最少的,但也确实体现了Go语法规则的简洁性。保留关键字不能用作常量…...

005Mybatis返回值(ResultMap 一对多,多对多)

属性 id 应该总是指定一个或多个可以唯一标识结果的属性。 虽然,即使不指定这个属性,MyBatis 仍然可以工作,但是会产生严重的性能问题。 只需要指定可以唯一标识结果的最少属性。显然,你可以选择主键(复合主键也可以…...

把玩数据在内存中的存储

前言:时光如梭💦,今天到了C语言进阶啦😎,基础知识我们已经有了初步认识, 是时候该拔高拔高自己了😼。 目标:掌握浮点数在内存的存储,整形在内存的存储。 鸡汤&#xff1a…...

Nginx运行原理与基本配置文件讲解

文章目录 Nginx基本运行原理Nginx的基本配置文件serverlocationroot 与 alias 的区别server 和 location 中的 rootnginx欢迎页 本文参考文章Nginx相关文章 Nginx基本运行原理 Nginx的进程是使用经典的「Master-Worker」模型,Nginx在启动后,会有一个master进程和多个…...

openGauss5 企业版之SQL语法和数据结构

文章目录 1.openGauss SQL 语法2. 数据类型2.1数值类型2.2 布尔类型2.3 字符类型2.4 二进制类型2.5日期/时间类型2.6 几何类型2.7 网络地址类型2.8 位串类型2.9 文本搜索类型2.10 UUID数据类型2.11 JSON/JSONB类型2.11 HLL数据类型2.12 范围类型2.13 索引2.14 对象标识符类型2.…...

TClientDataSet 模拟 EXCEL表

日常处理数据时,经常需要,从EXCEL表格中,批量导入数据,通过 XLSReadWriteII编程,会很快导入。 但是,客户提供的EXCEL表的字段,数据格式,字段的排序,有很大的区别。因此&a…...

Hazel游戏引擎(012)GLFW窗口事件

文中若有代码、术语等错误,欢迎指正 文章目录 前言如何确定GLFW窗口事件的回调函数参数Application接收事件回调流程原项目流程(12345)自己写的简单Demo与流程(123) 前言 此节目的 为了完成008计划窗口事件的接收glfw窗口事件以及回调部分 此节要完成 使用glfw函数…...

Nenu算法复习第六章

目录 补充知识点 1160: 6001 第几天? 1161: 6002 时间格式转换 1162: 6003 星期几? 1163: 6004 18岁生日、 补充知识点 闰年的判断方法: 能被四整除但是不能一百整除或者能被400整除 例题: 题目描述 经常会有人问你怎么判断闰年&…...

知识付费社群:最好的知识传播方式

知识付费是一种网络内容付费方式,它让知识传播者通过网络以付费的方式向社会大众或特定平台传递知识、技能和智力资源。 知识付费传播的成功离不开用户,他们是核心节点,也是受众和粉丝的重要组成部分。用户不仅可以生产和传播知识&#xff0…...

局域网内不同网段的设备互相连接设置

目录 介绍1、打开网络连接,找到本地网络->属性->ipv4->属性->高级:2、在高级设置页面,我们添加一个IP,这个IP和板子在一个网段,我这里设置的是192.168.253.101:3、设置完成即可生效&#xff0c…...

LVS+Keepalived 群集

目录 一、keepalived概述 1.keepalived工作原理 2.keepalived体系主要模块及其作用 3.判断服务器主备,及如何配置浮动IP 二、keepalived的抢占与非抢占模式 三、部署LVSkeepalived 1.配置负载调度器(主备相同) 1.1配置keepalived&…...

windows系统cmd命令设置别名,并添加到环境变量

众所周知,Linux 命令很强大,使用起来也很方便,但是想在 windows 系统上使用 Linux 命令有些困难,要么下载第三方终端工具,要么就是安装一系列命令环境。 作为一个前端开发,其实可以全局安装一下 npm 命令行…...

智能学习 | MATLAB实现GWO-SVM多输入单输出回归预测(灰狼算法优化支持向量机)

智能学习 | MATLAB实现GWO-SVM多输入单输出回归预测(灰狼算法优化支持向量机) 目录 智能学习 | MATLAB实现GWO-SVM多输入单输出回归预测(灰狼算法优化支持向量机)预测效果基本介绍模型原理程序设计参考资料预测效果 基本介绍 Matlab实现GWO-SVM灰狼算法优化支持向量机的多输…...

java方法

文章目录 一、java方法总结 一、java方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法。 System 是系统类。 out 是标准输出对象。这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 pr…...

LabVIEW与Space Wire配合开发

LabVIEW与Space Wire配合开发 Space Wire是欧洲航天局开发的一种高速、点对点、全双工的串行总线网络,以IEEE1355-1995和LVDS 两个商业标准为基础,汲取了1394技术、ATM技术、以太网技术的优点,同时考虑了空间应用的特点,在故障检…...

开始使用chat-gpt4

目录 一、说明 二、安装步骤 三、测试效果咋样 (1)写代码能力 (2)回答问题能力 (3)写作能力 一、说明 参考(非常感谢这位博主的分享):http://t.csdn.cn/qypw9 注意&…...

算法之贪心算法

定义 总是做出当前最好的选择,期望通过局部最优选择得到全局最优的解决方案。 适用标准 贪心选择性质。 原问题的整体最优解可以通过一系列局部最优的选择得到。这种选择依赖于已做出的选择,不依赖于未做出的选择。贪心算法解决的问题,在程…...

Maven 基础

博文目录 文章目录 Maven基础概念生命周期 - Build Lifecycle阶段 - Build Phase目标 - Plugin goals默认目标绑定Clean 生命周期Default 生命周期Site 生命周期 插件 - Plugin POM(Project Object Model)Super POM项目继承 - Project Inheritance项目聚…...

算法刷题-哈希表-两数之和

两数之和 1. 两数之和思路总结其他语言版本 1. 两数之和 力扣题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

uniapp中使用aixos 报错

问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

Unity VR/MR开发-VR开发与传统3D开发的差异

视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...