⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Java 虚拟线程:轻量级并发新纪元

探索 Project Loom 带来的虚拟线程,以极低开销创建成千上万个并发任务,简化高并发编程。 · 难度:入门 · +15XP

虚拟线程是什么?

虚拟线程(Java 21 正式版)是 JDK 实现的轻量级线程,由 JVM 调度而非操作系统。它们占用极少内存,适合大量 I/O 密集型任务。

创建方式

// 方式一:Thread.ofVirtual()
Thread vThread = Thread.ofVirtual()
    .name("my-virtual")
    .start(() -> System.out.println("虚拟线程运行"));

// 方式二:Executors.newVirtualThreadPerTaskExecutor() try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { Future<?> future = executor.submit(() -> heavyIO()); future.get(); }

与平台线程对比

特性平台线程虚拟线程
创建成本高(1MB+ 栈)极低(几百字节)
最大数量受限于内存/OS数百万
阻塞影响阻塞 OS 线程释放载体线程
适用场景CPU 密集型I/O 密集型

注意事项

练习提示

在 starter_code 中,使用虚拟线程执行器同时发起 10 个模拟 I/O 任务(Thread.sleep),观察执行时间。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 133 篇
0 完成
🔥 0