Open
Description
Hi, I came here after watching the Pycon 2023 talk about this. Hope this isn't the wrong place to ask. I want to understand how this approach to concurrency deals with error handling and cancellation.
Let's say I write code using subinterpreters as the concurrency mechanism, rather than threads or processes or async.
- I start in the "parent" interpreter, and create a subinterpreter. The subinterpreter runs into an unhandled exception. Will it be propagated seamlessly back up to the parent interpreter? How do you catch it?
- Conversely, can the parent interpreter throw an exception into a sub-interpreter, like how you can
.throw
into a coroutine? i.e. can subinterpreters be cancelled easily like async tasks (and unlike threads)?
Metadata
Metadata
Assignees
Labels
No labels
Activity