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

JAVA细节/小技巧

一、

Callable类可以实现返回结果的多线程。实现Callable类,然后实例化一个对象传递给FutureTask,然后把FutureTask对象传递给Thread对象,执行start即可开始多线程。FutureTask对象执行get函数可以获得Callable类中call函数的返回值,前提是call执行完毕了。

因此,假如call运行时间特别长,执行start后没执行完,此时在另一个线程里执行get语句,整个线程就会开始停止,等待。

例如:

new Thread(f1).start();
System.out.println(f1.get());
for(int i=0;i<10;i++){System.out.println("主线程"+i);
}

如果call函数执行时间特别长,例如你强行sleep20秒,那么底下主线程的打印部分就要20秒后才会执行。如果你把System.out.println(f1.get());这一行去掉,那么即使call函数要执行一万年,也不影响主线程去进行打印。

相关文章:

JAVA细节/小技巧

一、 Callable类可以实现返回结果的多线程。实现Callable类&#xff0c;然后实例化一个对象传递给FutureTask&#xff0c;然后把FutureTask对象传递给Thread对象&#xff0c;执行start即可开始多线程。FutureTask对象执行get函数可以获得Callable类中call函数的返回值&#xf…...

jmeter如何压测和存储

一、存储过程准备&#xff1a; 1、建立一个空表&#xff1a; 1 CREATE TABLE test_data ( id NUMBER, name VARCHAR2(50), age NUMBER ); 2、建立一个存储过程&#xff1a; 1 2 3 4 5 6 7 8 9 CREATE OR REPLACE PROCEDURE insert_test_data (n IN NUMBER) AS BEGIN --E…...

一个月学通Python(三十三):Python并发编程在爬虫中的应用

专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对…...

HCIP——STP

STP 一、STP概述二、二层环路带来的问题1、广播风暴问题2、MAC地址漂移问题3、多帧复制 三、802.1D生成树STP的BPDU1、配置BPDU2、RPC3、COST4、配置BPDU的工作过程5、TCN BPDU6、TCN BPDU的工作原理 四、STP的角色五、STP角色选举六、STP的接口状态七、接口状态的迁移八、STP的…...

【数据结构】“单链表”的练习题

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …...

项目实战 — 消息队列(5){统一硬盘操作}

前面已经使用数据库管理了交换机、绑定、队列&#xff0c;然后又使用了数据文件管理了消息。 那么&#xff0c;这里就创建一个类&#xff0c;讲之前的两个部分整合起来&#xff0c;对上层提供统一的一套接口&#xff0c;表示硬盘上存储的所有的类的信息。 /* * 用这个类来管理…...

【2.2】Java微服务:Hystrix的详解与使用

目录 分布式系统面临问题 Hystrix概念 Hystrix作用 降级 什么是降级 order服务导入Hystrix依赖&#xff08;简单判断原则&#xff1a;谁调用远程谁加&#xff09; 启动类添加注解 业务方法添加注解&#xff08;冒号里填回调方法名&#xff0c;回调方法返回兜底数据&…...

【PYTHON】WebSocket服务端与客户端通信实现

目录 1 简介 2 WebSocket优点 3 前后端交互的方式 4 心跳机制和重连机制 5 后端代码 6 测试...

Runloop 的五种mode

1.runloop是一个事件驱动的循环,收到事件就去处理,没有事件就进入睡眠. 2.应用一启动主线程被创建后,主线程对应的runloop也被创建,runloop也保证了程序能够一直运行.之后创建的子线程默认是没有runloop的,只有当调用[NSRunLoop currentRunLoop]去获取的时候才被创建. 3.runloo…...

C++头文件使用精要

一、头文件包含顺序 根据《Google C 编程风格指南》&#xff0c;对于Foo.cpp&#xff0c;顺序推荐为&#xff1a; Foo.hC标准库C标准库其它库的头文件本工程的头文件 另外&#xff0c;在包含头文件时应该加上头文件所在工程的文件夹名&#xff0c;可区分重名文件。即假如你有…...

Flink之SideOutput(数据分流)

Flink在早期版本有一个split算子用来做数据分流使用的,但是在flink-1.12开始这个API就已经被删除了,在1.12版本以后我们是通过process算子来做数据分流的,这里就介绍一下如何使用prodess进行数据分流. 代码 import org.apache.flink.api.common.typeinfo.TypeInformation; im…...

Android Studio新版本logcat过滤说明

按包名过滤 //输入package:&#xff08;输入一个p就会有提示的&#xff09; &#xff0c;后面加上包名 比如: package:com.xal.runcontrol package:包名可以完整或者输部分包名即可 package:包名需要输完整准确 package~:正则表达式过滤 不了解正则表达式的可以参考&#…...

carsim与matlab仿真

matlab2021a安装教程&#xff0c;亲测。 百度网盘&#xff1a; matlab2021a安装包 提取码&#xff1a;1223 CarSim2020安装教程&#xff0c; 亲测。 百度网盘&#xff1a; CarSim2020安装包 提取码&#xff1a;1223 &#xff0c;破解可参考 b站视频...

rust里如何快速实现一个LRU 本地缓存?

LRU是Least Recently Used&#xff08;最近最少使用&#xff09;的缩写&#xff0c;是一种常见的缓存淘汰算法。LRU算法的基本思想是&#xff0c;当缓存空间已满时&#xff0c;优先淘汰最近最少使用的数据&#xff0c;以保留最常用的数据。 在计算机系统中&#xff0c;LRU算法…...

MQTT 订阅接收消息 mosquitto 方式

1 说明 采用 mosquitto 库&#xff0c;实现订阅主题&#xff0c;并接收消息。其中服务器有做限制&#xff0c;需要对应的 cilent id &#xff0c;cafile 、certfile 、keyfile 等配置2 环境 采用ubuntu 直接编译调试 安装mosquitto 库 sudo apt install libmosquitto-dev su…...

以mod_jk方式整合apache与tomcat(动静分离)

前言&#xff1a; 为什么要整合apache和tomcat apache对静态页面的处理能力强&#xff0c;而tomcat对静态页面的处理不如apache&#xff0c;整合后有以下好处 提升对静态文件的处理性能 利用 Web 服务器来做负载均衡以及容错 更完善地去升级应用程序 jk整合方式介绍&#…...

springboot动态数据源切换

1&#xff09;、就是将多个数据源全部注入到bean中&#xff0c;根据需要实现多数据源之间的切换。 2&#xff09;、使用baomidou的DS注解。见文章DS注解实现数据源动态切换 com.baomidou dynamic-datasource-spring-boot-starter 3.5.1 ##设置默认的数据源或者数据源组,默认值…...

代码随想录训练营day14

101. 对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 func isSymmetric(root *TreeNode) bool {if root nil{ return true}return judge(root.Left,root.Right) }func judge(lf *TreeNode , ri *TreeNode)bool{if lf nil && ri nil{ retu…...

功能测试进阶自动化测试如何摸清学习方向,少走弯路呢?

目录 抛开疑问&#xff0c;只做学术探讨 小白在想什么&#xff1f; 盖楼之前先打好地基&#xff0c;首先需要学习一门语言 语言入门后&#xff0c;正式踏上开始自动化成神之路&#xff0c;入门篇Selenium 玩腻了Selenium 开始接触自动化框架unittest/testNG 不满足于单元…...

检测前端是否可以ping通后端返回的ip地址

检测前端是否可以ping通后端返回的ip地址 前端检测是否可ping通ip地址&#xff08;PC端&#xff09;前端检测是否可ping通ip地址&#xff08;uniapp小程序端&#xff09; 前端检测是否可ping通ip地址&#xff08;PC端&#xff09; // 前端检测是否可ping通ip地址 ping…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

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

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

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...