Java Virtual Threads

Discussions center on Java's virtual threads via Project Loom, comparing them to green threads in Haskell, Go goroutines, and async/await models, debating their advantages, implementation details, and use cases over traditional threads.

πŸ“‰ Falling 0.2x Programming Languages
2,130
Comments
19
Years Active
5
Top Authors
#9618
Topic ID

Activity Over Time

2008
4
2009
5
2010
9
2011
11
2012
15
2013
53
2014
76
2015
57
2016
61
2017
55
2018
69
2019
59
2020
231
2021
203
2022
281
2023
477
2024
302
2025
157
2026
5

Keywords

CPU IMO JS twitter.com ML RxJava developer.okta redhat.com thread.rs ForkJoinPool threads virtual green java async jvm kotlin concurrency coroutines scheduler

Sample Comments

gf000 β€’ Dec 2, 2025 β€’ View on HN

Haskell has green threads. Plus nowadays Java also has virtual threads.

feverzsj β€’ Feb 25, 2024 β€’ View on HN

Seems java's virtual thread is the only sane async model out there.

The_rationalist β€’ May 17, 2020 β€’ View on HN

Are there still legitimate use cases of using real threads vs virtual threads?

pajko β€’ Oct 6, 2021 β€’ View on HN

That's why green threads and fibers exist. Green threads implementation of Java has been removed a long time ago, but there's Project Loom: https://developers.redhat.com/blog/2019/06/19/project-loom-l...

he0001 β€’ Jul 17, 2024 β€’ View on HN

What patterns does async/await solve which virtual threads don’t?

layer8 β€’ Aug 22, 2024 β€’ View on HN

What you propose is similar to how Java virtual threads work.

adrianmsmith β€’ Feb 25, 2024 β€’ View on HN

This is not news, it's documented in the official description of the virtual threads: https://openjdk.org/jeps/444

HippoBaro β€’ Sep 8, 2023 β€’ View on HN

Virtual threads or green threads, etc., are all names for the same thing: stackful coroutines. I would say yes! If your language/platform/runtime supports them, that should definitely be your starting point.

horizion2025 β€’ Jul 15, 2025 β€’ View on HN

Java's new philosophy (in "Loom" - in production OpenJDK now) seems to be virtual threads that are cheap and can therefore be plentiful compared to native threads. This allows you to write the code in the old way without programmer-visible async.

Yoric β€’ Mar 20, 2023 β€’ View on HN

Out of curiosity, what's the difference between virtual threads, green threads and, say, goroutines?