Discuss / Java / 虚拟线程具体是由什么线程调度的问题

虚拟线程具体是由什么线程调度的问题

Topic source

大风起兮

#1 Created at ... [Delete] [Delete and Lock User]

> 直接调用start()实际上是由ForkJoinPool的线程来调度的。我们也可以自己创建调度线程,然后运行虚拟线程

这里好像有点问题,我看了这个方法的源码

Executors.newVirtualThreadPerTaskExecutor();

它本质上使用的是

Thread.ofVirtual().factory()

来为每一个任务创建一个虚拟线程

其中的schedule默认是null,仍然是使用ForkJoinPool的线程来进行调度

API里并没有找到对外暴露的,可以自己创建调度线程的方法

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

Executors.newVirtualThreadPerTaskExecutor()

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

它用的是new ThreadPerTaskExecutor()


  • 1

Reply