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

Thread中几个常用的api详解join,interrupt

1.join()

join方法可以在多线程中帮我们实现调用线程的同步效果,比如,现在有三个线程,a,b,c

a中启动了b和c线程异步去执行一件事,但是a希望他们做完以后再继续往下执行,那么就可以在调用b和c启动之后,调用每个线程的join方法,意思是等待它们执行完毕,代码如下:

    public static void main(String[] args) throws InterruptedException {Thread thread = new Thread() {@Overridepublic void run() {System.out.println("我是线程1");}};Thread thread1 = new Thread() {@Overridepublic void run() {System.out.println("我是线程2");}};thread.join();thread1.join();System.out.println("我是主线程");}

2.interrupt()

这个方法可以理解成打断线程的当前状态,有以下几个场景啊:我们通常可以用来实现通过一个线程,控制另一个线程是否运行,在需要通知另一个线程的时候调用interrupt(),然后在停止的线程中有一个判断逻辑,判断当前线程的状态

  • 打断阻塞状态下的线程,比如调用了sleep或者是yield方法等,如果这个时候,别的线程调用了该线程的interrupt()方法,就会抛出一个interruptedException,并且把是否打断状态改为false
  • 打断正在运行的线程,意思就是正在执行别的代码,没有处于sleep或别的状态下,那么这个时候就会把,thread1.isInterrupted(),值改为true
  • 打断park,park就是让当前线程阻塞,调用该线程的interrupt(),可以让它继续向下运行,但是注意哦,park方法是否继续向下运行,依靠的是当前线程thread1.isInterrupted()是否为true,如果为true,则无法再次阻塞,意思就是假如一个线程调用了一次LockSupport.park()方法,此时另一个线程打断了它,那么它继续往下运行的时候,又调用了一次LockSupport.park()方法,是没办法阻塞的,因为这个时候当前线程的isInterrupted()为true,所以如果希望再次往下运行,可以在第一次park()方法的后边,调用Thread.Interrupted()方法,可以帮我们把打断状态改为false,使程序调用park()方法时可以再次阻塞,代码大致如下
        public static void main(String[] args) throws InterruptedException {Thread thread = new Thread() {@Overridepublic void run() {LockSupport.park();System.out.printf("当前打断状态为%s\n",Thread.interrupted());LockSupport.park();System.out.println("dssdsds");}};thread.start();thread.interrupt();}

相关文章:

Thread中几个常用的api详解join,interrupt

1.join() join方法可以在多线程中帮我们实现调用线程的同步效果,比如,现在有三个线程,a,b,c a中启动了b和c线程异步去执行一件事,但是a希望他们做完以后再继续往下执行,那么就可以在调用b和c启…...

Golang项目实战(三)

Golang项目实战(三) 该项目是使用grpcgin来构建的一个电商微服务项目,使用consul来注册和发现微服务。 项目简介创建项目架构创建货币服务创建货币微服务处理器将货币微服务注册到consul下载安装consul并发布服务创建商品微服务准备商品数据…...

TSUMU58CDT9-1显示器芯片方案

TSUMU58CDT9-1是用于LCD显示器的整体解决方案图形处理IC,面板分辨率高达WUXGA。它配置了高速集成三adc /PLL、集成DVI/HDMI接收器、高质量显示处理引擎、集成微控制器和支持LVDS面板接口格式的输出显示接口。TSUMU58CDT9-1支持一个灵活的可配置数字输入接口&#xf…...

React 安装使用 Less(详细流程,包含 webpack、craco 方式)

一、简介 React 项目开发中可能会使用到 Less、Sass 等样式预处理器,create-react-app 创建的 React 项目,默认就是支持 Sass 的。如果需要使用 Less 则需要额外手动安装配置。 二、方式一:webpack.config.js 配置(不推荐&#…...

力扣(LeetCode)算法_C++—— 快乐数

编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1&#xff0…...

滴滴笔试——算式转移

题目:给出一个仅包含加减乘除四种运算符的算式(不含括号),如12*3/4,在保持运算符顺序不变的情况下,现在你可以进行若干次如下操作:如果交换相邻的两个数,表达式值不变,那么你就可以交换这两个数…...

[LeetCode] 128. 最长连续序列

题目描述 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出&…...

docker 安装rabbitmq

前提:安装好docker docker安装_Steven-Russell的博客-CSDN博客 centos7安装docker_centos7 docker 安装软件_Steven-Russell的博客-CSDN博客 1、启动docker systemctl start docker 2、下载镜像 // 可以先search查询一下可用镜像,此处直接下载最新版本…...

一文概览NLP句法分析:从理论到PyTorch实战解读

目录 一、引言 二、句法与语法:定义和重要性 什么是句法? 例子 什么是语法? 例子 句法与语法的重要性 句法的重要性 语法的重要性 三、句法理论:历史与分类 生成语法(Generative Grammar) 背景…...

NPM 常用命令(三)

目录 1、npm compltion 1.1 描述 2、npm config 2.1 常用命令 2.2 描述 set get list delete edit fix 2.3 配置 json global editor location long 3、npm dedupe 3.1 描述 3.2 配置 4、npm deprecate 4.1 命令使用 4.2 描述 4.3 配置 registry ot…...

UWB学习——day1

UWB定义 UWB:Ultra Wideband(超宽频) UWB所谓的超宽频区别于其它近场通信技术可总结为时域上跳跃,频域上矮胖 从图中可以看出,时域上通过短且强的脉冲信号,频域上主要是超宽的频谱(Spectrum&a…...

2023国赛数学建模C题模型代码

C题代码全部都完成了,可以看文末名片 我们先看C题的一个背景 在生鲜商超中,蔬菜类商品保鲜期短,且品相会随销售时间增加而变差。商超需要根据历史销售和需求每天进行补货。由于蔬菜品种众多、产地不同,补货时间在凌晨,商家须在不明确具体单品和价格的情况下进行补…...

2023年高教社杯数学建模国赛C题详细版思路

C 题 蔬菜类商品的自动定价与补货决策 2023年国赛如期而至,为了方便大家尽快确定选题,这里将对C题进行解题思路说明,以分析C题的主要难点、出题思路以及选择之后可能遇到的难点进行说明,方便大家尽快找到C题的解题思路。 难度排…...

互联网摸鱼日报(2023-09-07)

互联网摸鱼日报(2023-09-07) 36氪新闻 慕尼黑车展纪实:德系车略显“紧张” 隆基全力押注BC,光伏又要变天了? 苹果Vision Pro也逃不过Windows XP系统 官宣造车两年后,小米仍在等待重估 抖音苹果店开业,卖iPhone抢热…...

并行处理系统

并行处理系统概述 并行处理的主要技术问题: 互连:如何实现将多个计算模块和多个存储模块进行互连,并通过控制这些模块的并行工作来提高处理速度数据一致性:为加快数据处理的速度,通常利用程序访问的局部性特性&#x…...

2023国赛数学建模A题思路分析 - 定日镜场的优化设计

# 1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统, 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…...

git企业级使用

1.初始Git 1.1创建Git仓库 要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。创建⼀个Git本地仓库对应的命令为 git init ,注意命令要在⽂件⽬录下执⾏,例如:…...

[docker]笔记-存储管理

1、docker数据存储分为非永久性存储和永久性存储。 非永久性存储:容器创建会默认创建非永久性存储,该存储从属于容器,生命周期与容器相同,会随着容器的关闭而消失(可理解为内存中数据,会随关机而消失&…...

记录获取蓝鲸智云token的过程

一、使用python脚本获取蓝鲸智云token python版本环境:3.11 # -*- coding: utf-8 -*- import requestsdef get_user_token(domain,user,password):模拟用户登录,并返回 bk_token 和 bk_csrftokenBK_PAAS_HOST domainUSERNAME userPASSWORD password…...

C语言AES加密解密字符串与16进制数据

文章目录 AES介绍C语言加密库加密解密16进制数据加密解密字符串数据base64编码aes加密字符串aes解密字符串解密中文字符加密库源代码AES介绍 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标…...

CANN/asc-devkit MakeNDLayout函数

MakeNDLayout 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.c…...

Hello-Agents 第二部分-第九章总结:上下文工程

作者:逆境不可逃 技术永无止境 希望我的内容可以帮助到你!!!!! 大家吼 ! 我是 逆境不可逃 今天给大家带来文章《Hello-Agents 第二部分-第九章总结:上下文工程》. Hello-Agents 官方地址:data…...

GANsformer:用Transformer重构GAN判别与生成机制

1. 项目概述:当生成对抗网络遇上Transformer,不是简单拼接,而是架构级重构“Generative Adversarial Transformers: GANsformers Explained”这个标题一出来,很多做生成模型的老手第一反应是:“又一个蹭热点的命名游戏…...

基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)

畅阅读系统小程 目录 基于java的畅阅读系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&a…...

Steam Economy Enhancer:终极Steam市场自动化管理完整指南

Steam Economy Enhancer:终极Steam市场自动化管理完整指南 【免费下载链接】Steam-Economy-Enhancer 中文版:Enhances the Steam Inventory and Steam Market. 项目地址: https://gitcode.com/gh_mirrors/ste/Steam-Economy-Enhancer Steam Econo…...

中兴B863AV3.2-M刷机避坑指南:S905L3A芯片识别、固件选择与Amlogic USB Burning Tool 2.2.0配置详解

中兴B863AV3.2-M刷机全流程精解:从芯片识别到固件烧录的进阶实践 在智能电视盒的玩家圈子里,中兴B863AV3.2-M因其出色的硬件配置和可玩性备受关注。这款搭载Amlogic S905L3A芯片的设备,通过刷机可以解锁更多功能,但过程中暗藏的&q…...

以灵活测试方案打造共享实验室,强化槟城IC设计生态系统

益莱储(Electro Rent) InvestPenang|IC 设计验证与特性表征共享实验室马来西亚槟城正积极推进其成为亚洲领先的半导体枢纽。在 InvestPenang 主导的「Penang Silicon Design 5KM(PSD5KM)」计划下,全新的 I…...

告别本科论文 “从零焦虑”:okbiye AI 写作如何用 “全流程定制” 终结熬夜改稿循环

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 本科论文写到崩溃,是每个毕业生都懂的痛。 我见过凌晨三点的宿舍走廊,有人对着 Word 文档掉眼泪;也见过…...

自媒体矩阵工具选型避坑!多个平台发布指南,新手也能选对工具

做自媒体这事吧,光靠一个账号,很多时候确实不太容易把流量做起来,所以大多数人,慢慢就会去做多平台、多账号这种矩阵。可问题也很现实,账号一多,平台一散,人就容易被各种切换后台、重复发内容、…...

使用Taotoken CLI工具一键为团队所有网站项目配置统一API接入点

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken CLI工具一键为团队所有网站项目配置统一API接入点 在团队协作开发中,确保所有成员使用统一的大模型API接…...