Open
Description
Currently, when workflow and activity workers are run in the same process, they share the the same thread (same event loop):
sdk-python/temporalio/worker/_worker.py
Lines 489 to 492 in b0dfaef
Running these (and Nexus workers when they arrive) in different threads would prevent an async activity that incorrectly does blocking I/O from blocking workflow progress. In addition to limiting blast radius it should make it easier to understand the failure modes.