Questions about QCon'19 London talk

Volkan Yazıcı volkan.yazici at gmail.com
Thu Dec 5 12:06:27 UTC 2019


Hello,

I have some questions regarding Ron's QCon'19 London talk titled "Why
Continuations are coming to Java?"
<https://www.youtube.com/watch?v=9vupFNsND6o>. I will be appreciated if you
can spare some time to help me figuring them out.

*1.* In the talk, Ron states that the team considers implementing
Serializable in Continuation class. There it is further shared that the
continuation might even get resumed on a different physical machine than
the one it was suspended from. Given a majority of the continuation-related
marketing pitches are surrounded around I/O, how do you plan to preserve
the stateful nature of the I/O resources (e.g., a network socket) while
migrating a continuation bound to that resource from one machine to another?

*2.* In the structured concurrency example, that is, anyOf() method, why
don't we just replace the entire "try { <return-statement> } catch (...) {
... } finally { <cancellation-statement> }" with just "<return-statement>"?
Isn't the purpose of "<cancellation-statement>" already served by
try-with-resources on FiberScope?

*3.* I see that the Continuation provides a getStackTrace() method. Is it
gonna get cloned ala Throwable#getStackTrace()? A gc-free getStackTrace()
would particularly be useful for certain logics that strive for a gc-free
runtime, e.g., loggers. Would you mind sharing some comments on this,
please? Is it technically feasible? If not, why?

Thanks in advance.

Best regards.


More information about the loom-dev mailing list