[External] : Re: The Great Concurrency Smackdown: ZIO versus JDK by John A. De Goes

Ron Pressler ron.pressler at oracle.com
Wed Mar 15 14:12:53 UTC 2023



> On 15 Mar 2023, at 13:32, Pedro Lamarão <pedro.lamarao at prodist.com.br> wrote:
> 
> 
> Isn`t the point here about interruption, that is, when the timeout is reached, the threads "keep running" in the sense that they are not interrupted?
> I am not asserting that they are not interrupted, that is how I understood the original.
>  

Immediate forceful termination of a computation is only possible in languages like Erlang. Interruption in Java is as cooperative as in any framework, and occurs only in certain designated points. Those points happen to (mostly) corresponds with the points at which interesting composition and transformation occurs in both paradigms: the points between the different stages in the asynchronous pipeline, and the blocking points of a thread (in Java you can also add explicit interruption checks). In both paradigms the computation continues running until the next "interruption point".



More information about the loom-dev mailing list