JDK21新特性 虚拟线程

虚拟线程

    • 定义
    • 简单使用
    • 小结

定义

现有的并发模型最终任务的执行是落到线程上面的。这个线程的实现为操作系统 线程的包装器,操作系统线程的成本很高,因此我们不能创建太多线程。
在JAVA21中,传统线程称之为平台线程,在平台线程之下,派生出虚拟线程,而虚拟线程是非常轻量级的,突出一个用完就丢

虚拟线程的调度由平台线程控制,切换虚拟线程上下文;在操作系统层面,还是一个同一个线程里面。

因此,虚拟线程不该被池化,而是来个任务就直接放到虚拟线程中运行

简单使用

  • Executors.newVirtualThreadPerTaskExecutor()
Executors.newVirtualThreadPerTaskExecutor().execute(() -> {
	//TODO
});
  • Thread.ofVirtual()
Thread.ofVirtual().start(() -> {
    //TODO
});
  • Thread.startVirtualThread()
Thread.startVirtualThread(() -> {
    //TODO
});

小结

虚拟线程在Java的发展历程中绝对算是重量级更新,特别是对服务端程序更加友好,相信在不久的将来会有更对的组件向虚拟线程。
JDK21其他更新点参考

你可能感兴趣的:(Java基础,JDK21)