What is the mutex thread confinement (Coroutines)?

A mutex is not a thread, it is a bit of “state” shared across the threads that they use (with valid synchronization primitives) to ensure that only one thread at a time can “hold” the mutex (never forget to release it :wink: ). Remember that your coroutines can access shared state and can even have multiple instances running in parallel (started in different threads). A threadpool is just a way to reduce the parallelism (generally to the available computing resources), not normally to restrict the thread count to 1.