Asynchronously counting down

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

# Chapter10/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 Mastering Concurrency in Python 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.