Training video – Asynchronous Programming with Python
This was a great topic to talk about. I have done some asynchronous programming before, and teach it as part of an Advanced Python course. But in preparation for creating this video I got a chance to study the topic in more depth and breadth. It also took me back to studying Computer Science many years ago. Asynchronous programming adds a whole new layer of fun (technical challenges) and pain (more technical challenges). When you can no longer be certain about the order in which things happen, when something can get interrupted at any time, you need some special tools and techniques to stay out of trouble.
This is my fourth training video for Springer (Springer Science and Business Media Company), for subscribers to their Springer Link platform. Asynchronous Programming with Python. Write, Test, and Debug Robust Asynchronous Code was published in 2020 and is available to subscribers of the Springer service.
I tried to create a video which highlights the pitfalls but also shows the best ways to avoid them. It is offers a mixture of theoretical understanding and practical techniques.
The course covers multi-threading and multi-processing, preventing race conditions, sharing data and coordinating tasks using queues and events, and using the concurrent.future library to simplify the code. It finishes with writing robust asynchronous code, and how to test and debug it.