Description
# Background
- Why async? CPU bound vs IO bound processes.
 - Concurrency is not the same as multithreading
 - Single threaded concurrency
 
# Generators - already in Python 2 !
- Generator - a function you can pause!
 - How to implement async with generators and event loop in Python 2
 - Real working code - a Python version of the JavaScript setTimeout function
 
# What is new in Python 3 ?
- async/await - really generators in disguise!
 - asyncio library - ready made event loop and IO
 - new syntax and new library are independent - you can mix and match old and new!