// Java虚拟线程示例代码
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class VirtualThreadExample {
public static void main(String[] args) {
// 创建一个使用虚拟线程的ExecutorService
ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
// 提交多个任务给执行器
for (int i = 0; i < 10; i++) {
int taskId = i;
executor.submit(() -> {
// 模拟任务处理
System.out.println("Executing task " + taskId + " on thread " + Thread.currentThread().getName());
try {
// 模拟长时间运行的任务
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
System.out.println("Task " + taskId + " was interrupted");
}
System.out.println("Completed task " + taskId);
});
}
// 关闭执行器
executor.shutdown();
}
}
创建虚拟线程池:
Executors.newVirtualThreadPerTaskExecutor() 方法创建了一个每提交一个任务就启动一个虚拟线程的执行器。提交任务:
executor.submit() 方法提交了 10 个任务,每个任务都会在一个虚拟线程中执行。Thread.sleep(1000))。关闭执行器:
executor.shutdown() 来关闭执行器,确保所有任务完成后释放资源。虚拟线程是 Java 19 引入的一项实验性特性,旨在简化并发编程,提供更高效的线程管理。与传统的操作系统线程相比,虚拟线程的开销更低,能够显著提高应用程序的并发性能。
上一篇:java 字符串转数字
下一篇:java classpath
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站