Firs of all, I apologize for my English. I am learning python asyncio module and I get confused at some point. I learn from the doc that the main purpose of the event loop is to schedule coroutines for running, open newtwork I/O... A running coroutine can yield control back to the event loop by awaiting itself, so correct me if I am wrong, for the above to be possible, the event loop is needed to be always running on the main thread ? If so, how does asyncio manage running either the event loop and the coroutine at the same time on the same thread ? Perhaps there is a mechanism to suspend the event loop and resume it when needed ? Or is the event loop has a dedicated thread (I am not sure)?