The asyncio framework in action
As you have seen, asyncio provides a simple and intuitive way to implement the framework of an asynchronous program with Python's asynchronous programming keywords. With that, let's consider the process of applying the framework provided to a synchronous application in Python, and convert it to an asynchronous one.
Asynchronously counting down
Let's take a look at theChapter17/example1.pyfile, as follows:
# Chapter17/example1.py
import time
def count_down(name, delay):
indents = (ord(name) - ord('A')) * '\t'
n = 3
while n:
time.sleep(delay)
duration = time.perf_counter() - start
print('-' * 40)
print('%.4f \t%s%s = %i' % (duration, indents, name, n))
n -= 1
start = time.perf_counter()
count_down('A', 1)
count_down('B', 0.8)
count_down('C', 0.5)
print('-' * 40)
print('Done.')The goal of this example is to illustrate the asynchronous nature of overlapping the processing and waiting time of independent...