Not resuming Virtual Threads?
Johannes Kuhn
info at j-kuhn.de
Thu Jul 2 17:42:19 UTC 2020
After playing around with Virtual Threads a bit, I got to the question:
What happens if you don't resume a virtual thread?
This could be either done by accident - single thread carrier, that
waits on an other virtual thread that should be executed on the same
carrier, but the virtual thread is pinned -
or on purpose, like not iterating over all elements in my Generator
example[1]. Or closing the executor once you got an answer.
What happens with those Continuations? Can they be garbage collected?
What about held locks? How is this different from Thread.suspend?
Isn't that inherently dangerous?
Just trying to get a better understanding of the model here.
- Johannes
[1]: https://gist.github.com/DasBrain/abfdaa44b44d898f5d3c3888619eb49b
More information about the loom-dev
mailing list