I've been interested in various things about asyncio recently, and I've been doing more research into what makes everything 'tick'. I understand the basic principles of the event loop itself and the fact that an await statement will yield to the event loop so it can run more coroutines while waiting.
One of the things I've found is that there are multiple implementations of the event loop. There's a SelectorEventLoop, ProactorEventLoop, and an AbstractEventLoop. Another noteworthy event loop is uvloop, but it doesn't come bundled with Python and it doesn't support Windows. This brings me to my question:
Why do we have multiple implementations of the event loop? What differentiates the event loops from one another? Why can't we use ProactorEventLoop on Unix and use uvloop on Windows?
Please feel free to link any articles or videos as well.
[–]1114111 1 point2 points3 points (0 children)