线程的使用(二)
新增实现方式之实现Callable接口
特点
1、可以有返回值。
2、方法可以抛异常。
3、支持泛型的返回值。
4、需借助FutureTask类,比如获取返回值。
步骤
1、创建一个实现Callable接口的实现类。
2、重写call方法, 将此线程需执行的操作声明在call()中。
3、创建Callable接口实现类的对象。
4、将Callable 接口实现类的对象传递到FutureTask构造器中,创建Future Task的对象。
5、将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread对象,并调用start()。
6、获取Callable 中call()的返回值。
方法
get():获取返回值
新增实现方式之创建线程池
步骤
1、提供指定线程数量的线程池。例:
ExecutorService service = Executors. newFixedThreadPool(线程数);
2、执行指定的线程操作,需提供实现Runnable接口或Callable接实现类的对象。例:
t.execute(Runnable runnable):
3、关闭连接池
好处
1、提高响应速度(减少创建新线程的时间)。
2、降低资源消耗(重复利用线程池中的线程,不须重复创建)。
3、便于线程管理。
① core Poolsize:核心池的大小
②maximumPoolsize:最大线程数
③keepAliveTime:线程没有任务时最多保持多长时间后终止。
线程池相关API:ExecutorService和Executors
ExceutorService:真正的线程池接口
①void execute(Rumable runnable):执行任务/命令,无运回值,用来执行Runnuble接口的实现类。
②<T>Future<T> submit(Callable<T> task):有返回值,用来执行Callable接口的实现类。
③void shutdown():关闭连接池
Exeecutors:工具类,用来创建并返回不同类型的线程池
① new CachedThreadPool():创建任意数量线程的线程池。
② new FixedThread Pool():创建一个固定线程的线程池。
③ new SingleThread Excutor():创建只有一个线程的线程池。
④new ScheduledThreadPool(n):创建一个线程池,可安排在给定延迟后行命令或定期地执行。
相关文章:
线程的使用(二)
新增实现方式之实现Callable接口 特点 1、可以有返回值。 2、方法可以抛异常。 3、支持泛型的返回值。 4、需借助FutureTask类,比如获取返回值。 步骤 1、创建一个实现Callable接口的实现类。 2、重写call方法, 将此线程需执行的操作声明在call&…...
k8s之镜像拉取时使用secret
k8s之secret使用 一、说明二、secret使用2.1 secret类型2.2 创建secret2.3 配置secret 一、说明 从公司搭建的网站镜像仓库,使用k8s部署服务时拉取镜像失败,显示未授权: 需要在拉取镜像时添加认证信息. 关于secret信息,参考: https://www.…...
mysql面试题——MVCC
一:什么是MVCC? 多版本并发控制,更好的方式去处理读-写冲突,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。 二:…...
【华为数据之道学习笔记】1-2华为数字化转型与数据治理
传统企业通过制造先进的机器来提升生产效率,但是未来,如何结构性地提升服务和运营效率,如何用更低的成本获取更好的产品,成了时代性的问题。数字化转型归根结底就是要解决企业的两大问题:成本和效率,并围绕…...
微服务01
笔记: day03-微服务01 - 飞书云文档 (feishu.cn) 数据库连接不上? 要在虚拟机启动MySQL容器。docker start mysql 服务治理 服务提供者:暴露服务接口,供其他服务调用 服务消费者:调用其他服务提供的接口 注册中心&…...
作业12.8
1. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是…...
已解决error: (-215:Assertion failed) inv_scale_x > 0 in function ‘cv::resize‘
需求背景 欲使用opencv的resize函数将图像沿着纵轴放大一倍,即原来的图像大小为(384, 512), 现在需要将图像放大为(768, 512)。 源码 import cv2 import numpy as np# 生成初始图像 img np.zeros((384, 512), dtypenp.uint8) img[172:212, 32:-32] 255 H, W …...
Android View.inflate 和 LayoutInflater.from(this).inflate 的区别
前言 两个都是布局加载器,而View.inflate是对 LayoutInflater.from(context).inflate的封装,功能相同,案例使用了dataBinding。 View.inflate(context, layoutResId, root) LayoutInflater.from(context).inflate(layoutResId, root, fals…...
etcd 与 Consul 的一致性读对比
本文分享和对比了 etcd 和 Consul 这两个存储的一致性读的实现。 作者:戴岳兵,爱可生研发中心工程师,负责项目的需求开发与维护工作。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本…...
Docker 安装Apache Superset 并实现汉化和快速入门
什么是Apache Superset Apache Superset是一个现代化的企业级商业智能Web应用程序。Apache Superset 支持用户的各种数据类型可视化和数据分析,支持简单图饼图到复杂的地理空间图表。Apache Superset 是一个轻量级、简单化、直观化、可配置的BI 框架。 Docker 安…...
差异计算基础知识 - 了解期末业务操作、WIP 和差异
原文地址:Basics of variance calculation-Understanding Period End activities, WIP and Variances | SAP Blogs 大家好, 这是我在成本核算方面的第六份文件,旨在解释期末的差异计算和相关活动。 我将引导您完成期末活动和差异计算。在本文…...
spring boot定时器实现定时同步数据
文章目录 目录 文章目录 前言 一、依赖和目录结构 二、使用步骤 2.1 两个数据源的不同引用配置 2.2 对应的mapper 2.3 定时任务处理 总结 前言 一、依赖和目录结构 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifa…...
第一百九十六回 通过蓝牙发送数据的细节
文章目录 1. 概念介绍2. 实现方法3. 代码与效果3.1 示例代码3.2 运行效果4. 经验总结我们在上一章回中介绍了"分享三个使用TextField的细节"沉浸式状态样相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 通过蓝牙设备…...
26.Python 网络爬虫
目录 1.网络爬虫简介2.使用urllib3.使用request4.使用BeautifulSoup 1.网络爬虫简介 网络爬虫是一种按照一定的规则,自动爬去万维网信息的程序或脚本。一般从某个网站某个网页开始,读取网页的内容,同时检索页面包含的有用链接地址࿰…...
Spring Boot 在启动之前还做了哪些准备工作?
目录 一:初始化资源加载器 二:校验主要源 三:设置主要源 四:推断 Web 应用类型<...
SQL语句常用语法(开发场景中)
一、SQL语句常用小场景 1.查询某个表信息,表中某些字段为数据字典需要进行转义 SELECTt.ID,CASEWHEN t.DINING_TYPE 1 THEN早餐WHEN t.DINING_TYPE 2 THEN午餐WHEN t.DINING_TYPE 3 THEN晚餐END AS diningTypeStr from student t 2.联表查询语法 select si.*…...
HarmonyOS应用开发者认证:开启全新的智能设备开发之旅
随着科技的不断发展,人工智能、物联网等技术逐渐渗透到我们的日常生活中。在这个智能化的时代,华为推出了一款全新的操作系统——HarmonyOS,旨在为各种智能设备提供统一的操作系统,实现设备之间的无缝连接和协同工作。作为开发者&…...
Python 模板引擎 Jinja2 的安装和使用
目录 一、概述 二、安装 Jinja2 三、使用 Jinja2 四、Jinja2的强大功能和优点 五、总结 一、概述 Jinja2 是 Python 中广泛使用的一种模板引擎,它具有灵活的语法、强大的控制结构、方便的 API,以及高效的渲染速度。通过使用 Jinja2,开发…...
案例063:基于微信小程序的传染病防控宣传系统
文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder …...
53. Protocol buffer 的Go使用
文章目录 一、介绍二、安装三、protoc3语法1、 protoc3 与 protoc2区别2、proto3生成go代码包Message内嵌Message字段单一标量字段单一message字段可重复字段slicemap字段枚举 一、介绍 Protobuf是Google旗下的一款平台无关,语言无关,可扩展的序列化结构…...
如何写 Skill
核心概念 Skill 是一个自包含的模块,用来给 Claude/Cascade 注入特定领域的知识、工作流和工具。本质上就是一个"新手入职指南",让通用 AI 变成某个领域的专家。 目录结构 skill-name/ ├── SKILL.md # 必须,核心文件 └…...
GT New Horizons材质包精选:10款提升沉浸体验的视觉升级方案
GT New Horizons材质包精选:10款提升沉浸体验的视觉升级方案 【免费下载链接】GT-New-Horizons-Modpack A big progressive questing modpack for Minecraft 1.7.10 balanced around the mod GregTech. 项目地址: https://gitcode.com/GitHub_Trending/gt/GT-New-…...
基于MCGS嵌入版7.7的全自动洗车机组态仿真程序编写与流程图详解
MCGS洗车程序 MCGS嵌入版7.7组态仿真程序 全自动洗车机,脚本程序编写 有完整的流程图"这洗车机PLC程序怎么又卡在喷淋环节了?"凌晨两点的工控车间里,我盯着MCGS嵌入版的仿真界面直挠头。全自动洗车机的脚本调试真是个磨人的小妖精&…...
Qwen Pixel Art企业级应用:游戏公司美术外包降本提效实战路径
Qwen Pixel Art企业级应用:游戏公司美术外包降本提效实战路径 1. 游戏美术外包的痛点与机遇 游戏开发中,美术资源制作往往占据大量成本和时间。传统像素美术外包存在三个核心痛点: 成本高:资深像素画师日薪通常在800-1500元&am…...
Gitee:数字化转型浪潮中企业项目管理的战略级解决方案
在数字经济成为全球经济增长新引擎的背景下,企业数字化转型已从"选择题"变为"必答题"。项目管理工具作为数字化转型的基础设施,其重要性日益凸显。根据IDC最新预测,到2025年,中国数字经济规模将突破80万亿元&…...
OpenMP实战避坑:你的C++并行程序为什么跑得比单线程还慢?
OpenMP实战避坑:你的C并行程序为什么跑得比单线程还慢? 第一次在C代码里加上#pragma omp parallel for时,那种期待性能飙升的心情,相信每个开发者都经历过。但现实往往很骨感——程序运行速度不升反降,甚至出现莫名其妙…...
从原理到代码:用Python实现简易变焦跟踪算法(OpenCV实战)
从原理到代码:用Python实现简易变焦跟踪算法(OpenCV实战) 在计算机视觉领域,变焦跟踪是一个既基础又关键的技术难题。想象一下,当你用手机拍摄远处景物时,镜头从广角切换到长焦的过程中,画面往往…...
从LFA到TI-LFA:一张图看懂华为IGP FRR技术演进与选型指南
从LFA到TI-LFA:华为IGP FRR技术全景解析与实战选型 当视频会议因网络抖动出现卡顿时,当金融交易因路由收敛延迟导致订单丢失时,网络工程师们开始意识到:传统的IGP收敛机制已无法满足现代业务对可靠性的苛刻要求。这背后是毫秒级故…...
揭秘Captum归因算法:5种NLP文本分类与情感分析的最佳实践
揭秘Captum归因算法:5种NLP文本分类与情感分析的最佳实践 【免费下载链接】captum Model interpretability and understanding for PyTorch 项目地址: https://gitcode.com/gh_mirrors/ca/captum 在当今人工智能快速发展的时代,模型可解释性已成为…...
从LVGL V7.11到V9.1:我维护中文文档这三年踩过的坑与实战经验
从LVGL V7.11到V9.1:一个中文文档维护者的技术叙事 三年前,当我第一次在嵌入式项目中尝试使用LVGL时,完全没想到这个轻量级图形库会成为我技术生涯中的重要篇章。作为国内最早系统维护LVGL中文文档的开发者之一,这段跨越三个大版本…...
