Asynchronously counting down

Let's take a look at the Chapter17/example1.py file, as follows:

# Chapter17/example1.pyimport timedef 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 -= 1start = 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 tasks. To do this, we will be analyzing a countdown function (count_down()) that takes in a string and a delay time. It will then count down from three to one, ...

Get Advanced Python Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.