并发

多线程

线程池

虚拟线程

// 两种写法
Thread.startVirtualThread(runnable).join();
Thread.ofVirtual().name("virtual-thread").start(runnable).join();
// 虚拟线程工厂
ThreadFactory virtualThreadFactory = Thread.ofVirtual().name("v").factory();
virtualThreadFactory.newThread(runnable).start();
// 第三种写法
try (ExecutorService executorService = Executors.newVirtualThreadPerTaskExecutor()){
IntStream.range(0,1000).forEach(i->{
executorService.execute(()->{
try {
Thread.sleep(Duration.ofSeconds(1));
System.out.println(i);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
});
});