
Ask HN: Best way to learn async development? - staticautomatic
I&#x27;m a relatively novice Python developer. I&#x27;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&#x27;t block the i&#x2F;o thread when parsing.<p>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&#x27;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.<p>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?
======
jliechti1
I would recommend this 22-part tutorial on async concepts:

[http://krondo.com/?p=1209](http://krondo.com/?p=1209)

It uses Python's Twisted framework. You don't need to use this for your
development, but I would recommend working through and understanding the
tutorial. Once you get the concepts, you'll be able to apply them to other
libraries/concepts.

~~~
brndn
Very nice and clear. I really like the diagrams on the first page.

------
gamesbrainiac
There is an introduction to asynchronous programming in Python 3, that uses
the `asyncio` library and `aiohttp` library:
[https://community.nitrous.io/tutorials/asynchronous-
programm...](https://community.nitrous.io/tutorials/asynchronous-programming-
with-python-3)

