I'm a relatively novice Python developer. I've dabbled in multithreading and multiprocessing, and am trying to learn more about single threaded async coding. I tend to learn by trying, and my test project is an asynchronous web scraper that doesn't block the i/o thread when parsing.
However, the combination of learning about generators, futures, callbacks, coroutines, and event loops sort of all at once is making my head swim. There are lots of moving parts, and fundamentals I just don't get, like how to run a callback function outside of an event loop, or what the hell is actually happening when I call a coroutine from another coroutine.
Can anyone share any particularly good resources on learning the fundamentals of async development, the kind of thing that explains how all these things fit together and work at a basic level?
However, the combination of learning about generators, futures, callbacks, coroutines, and event loops sort of all at once is making my head swim. There are lots of moving parts, and fundamentals I just don't get, like how to run a callback function outside of an event loop, or what the hell is actually happening when I call a coroutine from another coroutine.
Can anyone share any particularly good resources on learning the fundamentals of async development, the kind of thing that explains how all these things fit together and work at a basic level?