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.py
file, 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...