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

并发 04(Callable,CountDownLatch)详细讲解

并发

Callable

1  可以返回值

2可以抛出异常

泛型指的是返回值的类型

public class Send {public static void main(String[] args) {//怎么启动Callable//new Thread().start();Aaa thread=new Aaa();FutureTask futureTask=new FutureTask(thread);new Thread(futureTask,"name").start();}
}
class Aaa implements Callable<String> {@Overridepublic String call() throws Exception {System.out.println("sssss");return "ssss";}
}

CountDownLatch

value(of)返回本身的值

每次有线程调用countDown()数量-1,假设计数器变为0,countDownLatch.await()就会被唤醒,继续执行! 

public class Send {public static void main(String[] args) throws InterruptedException {//倒计时CountDownLatch count=new CountDownLatch(6);for (int i = 0; i < 6; i++) {new Thread(()->{System.out.println(Thread.currentThread().getName()+"GO out");count.countDown();//数量-1},String.valueOf(i)).start();}count.await();//等待计数器归零然后在向下执行}
}

CyclicBarrier

public class Send {public static void main(String[] args) {CyclicBarrier cyclicBarrier=new CyclicBarrier(7,()->{System.out.println("召唤神龙");});for (int i = 0; i <7; i++) {final  int temp =i;//lambda能操作i吗  线程里只能通过final类型的的变量操作inew Thread(()->{System.out.println(Thread.currentThread().getName()+"收集了"+temp);try {cyclicBarrier.await();//等待} catch (InterruptedException e) {throw new RuntimeException(e);} catch (BrokenBarrierException e) {throw new RuntimeException(e);}}).start();}}
}

相关文章:

并发 04(Callable,CountDownLatch)详细讲解

并发 Callable 1 可以返回值 2可以抛出异常 泛型指的是返回值的类型 public class Send {public static void main(String[] args) {//怎么启动Callable//new Thread().start();Aaa threadnew Aaa();FutureTask futureTasknew FutureTask(thread);new Thread(futureTask,&qu…...

Json路径表达式

原json路径 {"timeStamp": "20220801110008","transIDO": "6ba9088c981b407fb38feasdf09","version": "1.0.0","signMethod": "md5","content": "{\"companyName\&quo…...

【uniapp 上传图片示例】

以下是 uniapp 上传图片的详细步骤示例&#xff1a; 定义一个方法&#xff0c;用于选择图片并上传&#xff1a; methods: {chooseImage() {uni.chooseImage({count: 1, // 最多选择的图片数量sizeType: [original, compressed], // 可以指定原图或压缩图sourceType: [album, …...

apache2配置文件 Require all granted是什么意思

修改apache2的配置文件 /etc/apache2/apache2.conf&#xff0c;需要增加网站代码的路径&#xff0c;下列配置是什么意思呢 <Directory "/var/www/html">Options FollowSymLinksAllowOverride AllRequire all granted </Directory> 1. Options Options …...

c/c++ 的一些知识

c 面向对象是一种思想&#xff0c;通常情况下都是以组合为主&#xff0c;也就是在子类里定义一个基类struct base_t {void (*method)(base_t *base_p); };struct children_t {int a;int b;base_t base;void (*method)(children_t *children_p); };children_t children_creat(i…...

Rancher上的应用服务报错:413 Request Entity Too Large

UI->rancher的ingress->UI前端(在nginx里面)->zuul->server 也就是说没经过一次http servlet 都要设置一下大小 1.rancher的ingress 当出现Request Entity Too Large时&#xff0c;是由于传输流超过1M。 1、需要在rancher的ingress中设置参数解决。 配置注释&a…...

【LeetCode题目详解】第八章 贪心算法 part01 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和 day31补

贪心算法理论基础 关于贪心算法&#xff0c;你该了解这些&#xff01; 题目分类大纲如下&#xff1a; # 什么是贪心 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 这么说有点抽象&#xff0c;来举一个例子&#xff1a; 例如&#xff0c;有一堆钞票&…...

ssm+vue中国咖啡文化宣传网站源码和论文

ssmvue中国咖啡文化宣传网站源码和论文078 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 课题背景 随着时代的发展和人们生活理念的进一步改变&#xff0c;咖啡业已经成为了全球经济中发展最迅猛的产业之一。…...

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 4 Data store标签页介绍

这篇文章我们继续讲解code-mapping的Data stores页,这个页的内容对应的SIMULINK中的模块是Data store memory。 我们首先在模型中创建一个Data store memory模块,如图: Data store memory模块的作用相当于一个全局变量,我们可以在模型的功能逻辑里将一个信号存进去,在另…...

区间型动态规划典型题目:lintcode 476 · 石子归并【中等,免费】lintcode 593 · 石头游戏 II【中等 vip】

题目lintcode476 链接&#xff0c;描述 https://www.lintcode.com/problem/476/description 有一个石子归并的游戏。最开始的时候&#xff0c;有n堆石子排成一列&#xff0c;目标是要将所有的石子合并成一堆。合并规则如下&#xff1a;每一次可以合并相邻位置的两堆石子 每次…...

4. 池化层相关概念

4.1 池化层原理 ① 最大池化层有时也被称为下采样。 ② dilation为空洞卷积&#xff0c;如下图所示。 ③ Ceil_model为当超出区域时&#xff0c;只取最左上角的值。 ④ 池化使得数据由5 * 5 变为3 * 3,甚至1 * 1的&#xff0c;这样导致计算的参数会大大减小。例如1080P的电…...

ChatGPT Prompting开发实战(一)

一、关于ChatGPT Prompting概述 当我们使用ChatGPT或者调用OpenAI的API时&#xff0c;就是在使用prompt进行交互&#xff0c;用户在对话过程中输入的一切信息都是prompt&#xff08;提示词&#xff09;&#xff0c;当然工业级的prompt与人们通常理解的prompt可能不太一样。下面…...

VB车辆管理系统SQL设计与实现

摘 要 随着信息时代的到来,信息高速公路的兴起,全球信息化进入了一个新的发展时期。人们越来越认识到计算机强大的信息模块处理功能,使之成为信息产业的基础和支柱。 我国经济的快速发展,汽车已经成为人们不可缺少的交通工具。对于拥有大量车辆的机关企事业来说,车辆的…...

java 泛型

概述 泛型在java中有很重要的地位&#xff0c;在面向对象编程及各种设计模式中有非常广泛的应用。 泛型&#xff0c;就是类型参数。 一提到参数&#xff0c;最熟悉的就是定义方法时有形参&#xff0c;然后调用此方法时传递实参。 那么类型参数理解呢&#xff1f; 顾名思义&…...

git 查看/配置 local/global 用户名称和用户邮箱

1、--local: 本地设置&#xff08;仅对当前仓库有效&#xff09; git config --local user.name “你的名称” git config --local user.email “你的邮箱” 2、--global 全局设置&#xff08;对当前用户的所有仓库有效&#xff09; git config --global user.name “你的名称…...

无涯教程-分类算法 - 简介

分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"白色"或"垃圾邮件"或"非垃圾邮件"的形式。 在数学上&#xff0c;分类是从输入变量(X)到输出变量(Y)近似映射函数(f)的任务&#xff0c;它属于有监督…...

python venv 打包,更换路径后,仍然读取到旧路径 ,最好别换路径,采用docker封装起来

机械盘路径 /home/yeqiang/code/xxx 移动到 /opt/xxx 编辑/opt/xxx/venv/bin/activate VIRTUAL_ENV"/home/yeqiang/code/xxx/venv" 改为 VIRTUAL_ENV"/opt/xxx/venv" 下面还有这么多&#xff0c;参考&#xff1a; (venv) yeqiangyeqiang-MS-7B23:/…...

MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3

目录 1、DeepLab系列简介 1.1.DeepLabV1 1.1.1创新点&#xff1a; 1.1.2. 动机&#xff1a; 1.1.3. 应对策略&#xff1a; 1.2.DeepLabV2 1.2.1.创新点&#xff1a; 1.2.2.动机 1.2.3. 应对策略&#xff1a; 1.3.DeepLabV3 1.3.1创新点&#xff1a; 1.3.2. 动机&am…...

road to master

零、学习计划 数据库相关 索引 我以为我对数据库索引很了解&#xff0c;直到我遇到了阿里面试官 - 知乎 (zhihu.com)给我一分钟&#xff0c;让你彻底明白MySQL聚簇索引和非聚簇索引 - 知乎 (zhihu.com)聚集索引&#xff08;聚类索引&#xff09;与非聚集索引&#xff08;非聚类…...

<深度学习基础> 激活函数

为什么需要激活函数&#xff1f;激活函数的作用&#xff1f; 激活函数可以引入非线性因素&#xff0c;可以学习到复杂的任务或函数。如果不使用激活函数&#xff0c;则输出信号仅是一个简单的线性函数。线性函数一个一级多项式&#xff0c;线性方程的复杂度有限&#xff0c;从…...

Taotoken官方折扣与活动价接入实践带来的成本节省感受

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken官方折扣与活动价接入实践带来的成本节省感受 1. 背景与决策起点 作为个人开发者或小团队&#xff0c;在构建基于大模型的…...

书匠策AI官网www.shujiangce.com|论文写作“裸奔时代“结束了!

哈喽各位还在跟论文死磕的朋友们&#xff0c;我是你们的论文科普搭子。 今天咱们换个玩法——不讲理论&#xff0c;不说大道理&#xff0c;我就拿书匠策AI&#xff08; 官网直达&#xff1a;www.shujiangce.com&#xff09; 的期刊论文功能当一台"时光机"&#xff0…...

魔百和CM311-1A刷机后体验:S905L3A芯片+安卓9,到底能装哪些好玩的应用?

魔百和CM311-1A刷机后应用生态全攻略&#xff1a;释放S905L3A芯片的隐藏潜力 当你的魔百和CM311-1A成功刷入纯净安卓9系统后&#xff0c;这台搭载S905L3A芯片的设备便从一台普通电视盒子蜕变为开放式的娱乐中心。ADB功能默认开启的状态下&#xff0c;它的可能性只受限于你的想…...

微服务设计终极指南:从单体到分布式的服务拆分原则与实践

微服务设计终极指南&#xff1a;从单体到分布式的服务拆分原则与实践 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总&#xff0c;旨在为大家提供一个清晰详细的学习教程&#xff0c;侧重点更倾向编写Java核心内容。如…...

驾驶舱前端设计方案:从“花架子”到“真能用”的组件化实战

很多人一提起“驾驶舱”或“ dashboard ”&#xff0c;脑海里浮现的就是&#xff1a;满屏图表、深色背景、会转动的3D地球、还有一堆看起来很高端但没人点开的按钮。但真正在一线做过驾驶舱的人都知道——大部分驾驶舱&#xff0c;上线当天截个图发朋友圈之后&#xff0c;就再也…...

Revelation光影包:5分钟打造电影级Minecraft视觉体验

Revelation光影包&#xff1a;5分钟打造电影级Minecraft视觉体验 【免费下载链接】Revelation An explorative shaderpack for Minecraft: Java Edition 项目地址: https://gitcode.com/gh_mirrors/re/Revelation 想让你的Minecraft方块世界瞬间拥有电影大片般的视觉效果…...

光栅的介绍

光栅主要用于分光和衍射。使用时将光栅垂直固定在支架上&#xff0c;确保刻线朝向光源。让光束以一定角度入射到光栅平面&#xff0c;在光栅后方放置光屏。可观察到&#xff1a; 1.中央为直射光斑&#xff08;零级&#xff09; 2.两侧对称分布彩色光谱&#xff08;不同波长的光…...

助睿实验作业1:订单利润分流数据加工(零代码 ETL 完整流程)

前言 本文是我在完成 助睿数智&#xff08;Uniplore&#xff09;一站式数据科学实验平台 入门实验时的完整学习笔记。实验任务是将订单明细表与产品信息表关联&#xff0c;并根据利润正负将数据分流为盈利订单和亏损订单&#xff0c;最终输出到两个 Excel 文件中。全程使用零代…...

航空EWIS自动化设计:合规挑战与工程实践

1. EWIS合规挑战与自动化设计价值现代航空器的电气线路互联系统(EWIS)设计正面临前所未有的合规压力。一架波音787包含超过100英里的电线和数千个连接器&#xff0c;每根导线都必须满足FAR 25.1701至25.1733的完整规范要求。我曾参与某型支线客机的EWIS设计项目&#xff0c;仅线…...

避坑指南:ZYNQ移植uCOSIII时,BSP里ps7_ethernet_0驱动选错怎么办?

ZYNQ移植uCOSIII网络驱动避坑指南&#xff1a;从硬件配置到BSP驱动的全链路解析 在嵌入式系统开发中&#xff0c;ZYNQ系列SoC因其独特的ARMFPGA架构备受青睐。而将uCOSIII实时操作系统移植到ZYNQ平台时&#xff0c;网络功能的配置往往是开发者遇到的第一个"拦路虎"。…...