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

Java21虚拟线程完整用法

方式1
 Thread.startVirtualThread(new Task());
方式2
Thread virtualThread = Thread.ofVirtual().name("Virtual Thread").unstarted(new Task());
virtualThread.start();
方式3
Thread.ofVirtual().name("Virtual Thread").start(new Task());
方式4
ThreadFactory threadFactory = Thread.ofVirtual().name("Virtual Thread").factory();
threadFactory.newThread(new Task()).start();
方式5

单个虚拟虚拟等待后会立刻执行其他任务,普通线程则会等待,线程设置成1个就能看出来了。

-Djdk.virtualThreadScheduler.parallelism=1 -Djdk.virtualThreadScheduler.maxPoolSize=1
ExecutorService executorService = Executors.newVirtualThreadPerTaskExecutor();
for (int i = 0; i < 10000; i++) {executorService.submit(new Task2());
}

完整的demo


public class Main {public static void main(String[] args) throws IOException {// 方式1
//        Thread.startVirtualThread(new Task());// 方式2
//        Thread virtualThread = Thread.ofVirtual().name("Virtual Thread").unstarted(new Task());
//        virtualThread.start();// 方式3
//        Thread.ofVirtual().name("Virtual Thread").start(new Task());// 方式4
//        ThreadFactory threadFactory = Thread.ofVirtual().name("Virtual Thread").factory();
//        threadFactory.newThread(new Task()).start();// 方式5  单个虚拟虚拟等待后会立刻执行其他任务,普通线程则会等待,线程设置成1个就能看出来了。// -Djdk.virtualThreadScheduler.parallelism=1 -Djdk.virtualThreadScheduler.maxPoolSize=1
//        ExecutorService executorService = Executors.newVirtualThreadPerTaskExecutor();
//        for (int i = 0; i < 10000; i++) {
//            executorService.submit(new Task2());
//        }
//        System.in.read();}static class Task implements Runnable {@Overridepublic void run() {System.out.println(Thread.currentThread());}}static class Task2 implements Runnable {@Overridepublic void run() {System.out.println(Thread.currentThread());try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(Thread.currentThread()+" end");}}
}

相关文章:

Java21虚拟线程完整用法

方式1 Thread.startVirtualThread(new Task());方式2 Thread virtualThread Thread.ofVirtual().name("Virtual Thread").unstarted(new Task()); virtualThread.start();方式3 Thread.ofVirtual().name("Virtual Thread").start(new Task());方式4 Th…...

Vue 中的 nextTick 方法

nextTick的背景 Vue 使用虚拟 DOM&#xff08;Virtual DOM&#xff09;和异步更新策略来实现高效的视图更新。当你修改 Vue 实例的数据时&#xff0c;Vue 并不会立即更新真实的 DOM&#xff0c;而是将更新操作加入到队列中&#xff0c;在下一个事件循环周期&#xff08;微任务…...

TypeScript React(上)

目录 扩展学习资料 TypeScript设计原则 TypeScript基础 语法基础 变量声明 JavaScript声明变量 TypeScript声明变量 示例 接口 (标准类型-Interface) 类型别名-Type 接口 VS 类型别名 类型断言:欺骗TS&#xff0c;肯定数据符合结构 泛型、<大写字母> 扩展学习…...

Linux 安全 - LSM源码分析

文章目录 前言一、简介1.1 DAC 和 MAC1.2 LSM 调用流程图 二、LSM相关数据结构2.1 struct security_hook_list2.2 union security_list_options2.3 structure security_hook_heads 三、security_bprm_check四、LSM 源码分析3.1 early_security_init3.2 security_init3.2.1 secu…...

第一次汇报相关问题

深度学习现在已经学习到了Mini-Batch&#xff0c;early-stop等针对特定场景优化的算法了。 代码已经实现了一个L层的神经网络的构建了 论文看了一些综述 主要思考的两个方向&#xff1a;云计算和嵌入式 云计算&#xff1a;分布式机器学习、联邦学习、服务器负载均衡等 嵌入式&…...

[产品体验] GPT4识图功能

[产品体验] GPT4识图功能 图片配文字超强的OCR能力知识问答多图解释 打开chatgpt的时候突然发现能用识图了&#xff0c;赶紧去体验一下&#xff0c;大大的震撼… 图片配文字 超强的OCR能力 我传上去的图片并不清晰… 还能准确识别&#xff0c;orz &#xff01; 知识问答 多…...

《3D 数学基础》几何检测-最近点

目录 1. 直线上的最近点 2. 射线上的最近点 3. 点到平面的距离 4. 圆或球上的最近点 5. AABB上的最近点 1. 直线上的最近点 q是距离q的最近点&#xff0c;也就是q在直线上的投影。 其中p是直线上的点&#xff08;向量表示&#xff09;&#xff0c;n是直线的法向量&#x…...

动态规划 -背包问题-详解

问题 注&#xff1a;大佬对此类问题的解法&#xff1a;动态规划背包问题总结 给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1&#xff…...

Bootstrap-- 媒体特性

最大、最小宽度例子&#xff1a; 横屏与竖屏例子&#xff1a; 宽度比与像素比例子&#xff1a;...

c# 用非递归的写法实现递归

最近写代码碰到了一个bug&#xff0c;就是递归次数太多爆堆栈了&#xff0c;然后就写了一个递归工具来解决这个问题。 using System; using System.Collections.Generic;/// <summary> /// 递归工具 /// </summary> public static class RecursionTool {//递归方式…...

nginx之location的优先级和nginx的重定向

一、nginx之location的优先级和匹配方式&#xff08;重点&#xff09; &#xff08;一&#xff09;nginx的正则表达式 nginx的正则表达式 符号 含义 ^ 字符串的起始位置&#xff08;以什么开头&#xff09; $ 字符串的结束位置&#xff08;以什么结尾&#xff09; * 匹…...

【计算机网络】——前言计算机网络发展的历程概述

主页点击直达&#xff1a;个人主页 我的小仓库&#xff1a;代码仓库 C语言偷着笑&#xff1a;C语言专栏 数据结构挨打小记&#xff1a;初阶数据结构专栏 Linux被操作记&#xff1a;Linux专栏 LeetCode刷题掉发记&#xff1a;LeetCode刷题 算法&#xff1a;算法专栏 C头…...

eventfd

1. #include <sys/eventfd.h> int eventfd(unsigned int initval, int flags); //创建eventfd 参数含义&#xff1a; initval&#xff1a;创建eventfd时它所对应的64位计数器的初始值&#xff1b; flags&#xff1a;eventfd文件描述符的标志&#xff0c;可由三种选项组…...

BES耳机空间音频技术实现

BES耳机空间音频技术实现 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?加我微信hezkz17, 本群提供音频技术答疑服务 音响和耳机在空间音频技术上实现方式是不同的 虚拟现实可谓是空间音频技术最具代表性的应 用领域。虽然虚拟现实的起源可以追溯到1 9 6 8年, …...

day27--AJAX(bootstrap之modal,toast;接口文档的一些用法;AJAX原理)

目录 Bootstrap之Modal&#xff1a; 显示和隐藏方法 通过自定义属性&#xff1a; 使用JS来控制弹框&#xff1a; Bootstrap之Toast&#xff1a; 接口文档一些用法&#xff1a; 删除图书&#xff1a; 图片上传&#xff1a; 图片上传步骤&#xff1a; 修改头像&#xf…...

【ArcGIS Pro二次开发】(70):杂七杂八的记录

本文用于记录一些使用频率较高但归类繁杂&#xff0c;非系统性的一些代码。 主要方便自己使用和查阅&#xff0c;随时更新。 1、从GDB数据库中打开【FeatureDataset\FeatureClass\Table】 using Geodatabase gdb new Geodatabase(new FileGeodatabaseConnectionPath(new Uri…...

竞赛选题 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习 机器视觉 人脸识别系统 该项目…...

【工具】SSH端口转发管理器,专门管理SSH Port Forwarding

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 开源代码看这里&#xff1a;http://xfxuezhang.cn/index.php/archives/1151/ 背景介绍 有时候需要用到ssh的端口转发功能。目前来说&#xff0c;要么是cmd里手敲指令&#xff0c;但每次敲也太麻烦了&#xff1b;或…...

opencv-phase 函数

计算梯度强度和方向 梯度的方向与边缘的方向总是垂直的。图像中的边缘可以指向各个方向&#xff0c;通常会取水平&#xff08;左、右&#xff09;、垂直&#xff08;上、下&#xff09;、对角线&#xff08;左上、右上、左下、右下&#xff09;等八个不同的方向计算梯度。 角度…...

44.ES

一、ES。 &#xff08;1&#xff09;es概念。 &#xff08;1.1&#xff09;什么是es。 &#xff08;1.2&#xff09;es的发展。 es是基于lucene写的。 &#xff08;1.3&#xff09;总结。 es是基于lucene写的。 &#xff08;2&#xff09;倒排索引。 &#xff08;3&#xf…...

phpenv故障排除终极指南:解决PHP版本管理中的10大常见问题

phpenv故障排除终极指南&#xff1a;解决PHP版本管理中的10大常见问题 【免费下载链接】phpenv Simple PHP version management 项目地址: https://gitcode.com/gh_mirrors/ph/phpenv phpenv是一款简单而强大的PHP版本管理工具&#xff0c;专为PHP开发者设计&#xff0c…...

LPC18xx/LPC43xx USB0接口低速设备识别问题解决方案

1. 问题现象与背景分析在嵌入式开发领域&#xff0c;NXP LPC1800和LPC4300系列微控制器因其强大的USB主机功能而被广泛应用。但在实际项目中&#xff0c;工程师们发现一个奇怪现象&#xff1a;当某些特定型号的DELL键盘&#xff08;USB低速设备&#xff09;连接到LPC18xx/LPC43…...

第七届先进金属材料国际研讨会(AMM 2026)

第七届先进金属材料国际研讨会(AMM 2026) The 7th Intl Conference on Advanced Metallic Materials(AMM 2026) 2026年8月7-9日 中国昆明 &#x1f4c5; 重要信息 会议官网&#xff1a;https://www.academicx.org/AMM/2026/ 会议时间&#xff1a;2026年8月7-9日 会议地点…...

TPS40192与TPS40193多相降压控制器:DCR与CS电流检测方案深度对比与设计实践

1. 项目概述&#xff1a;从两颗芯片说起最近在做一个大电流的分布式电源项目&#xff0c;板子上需要给核心处理器和一堆外围芯片供电&#xff0c;电流需求从几安培到几十安培不等&#xff0c;电压轨也有好几路。这种场景下&#xff0c;传统的线性稳压器&#xff08;LDO&#xf…...

STM32 FSMC/FMC接口详解:地址映射、时序配置与实战优化

1. 项目概述&#xff1a;深入理解STM32的FSMC/FMC接口在嵌入式开发中&#xff0c;尤其是涉及大屏显示、高速数据采集或复杂外部设备交互的项目里&#xff0c;我们常常会遇到一个绕不开的“硬骨头”——如何让STM32单片机高效、稳定地与外部并行存储器或设备通信。这时&#xff…...

英雄联盟回放播放器:ROFL-Player让历史比赛重现生机

英雄联盟回放播放器&#xff1a;ROFL-Player让历史比赛重现生机 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄联盟客户端更…...

TaotokenCLI工具一键配置开发环境与团队协作

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 TaotokenCLI工具一键配置开发环境与团队协作 在团队协作开发中&#xff0c;统一大模型API的接入配置是一个常见痛点。每个成员手动…...

j | 禁忌 | n |孩

通过网盘分享的文件&#xff1a;禁 | 忌女 | 孩(日版) 链接: https://pan.baidu.com/s/1bjsnnvP2f1EiA8ySTbCAOg?pwdtqp2 提取码: tqp2...

仅限前500名开发者获取:ElevenLabs内部情绪标注规范PDF(含惊讶语音的12维声学特征定义表+标注样例音频)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs惊讶情绪语音的声学本质与认知基础 惊讶情绪在语音合成中并非简单提升音高或加快语速&#xff0c;而是涉及多维声学参数的协同调制。ElevenLabs 的情感语音模型通过微分频带能量分布、瞬态基…...

Arduino Audio Tools终极指南:从音频新手到专业开发者的完整解决方案

Arduino Audio Tools终极指南&#xff1a;从音频新手到专业开发者的完整解决方案 【免费下载链接】arduino-audio-tools Arduino Audio Tools (a powerful Audio library not only for Arduino) 项目地址: https://gitcode.com/gh_mirrors/ar/arduino-audio-tools 在嵌入…...