In this chapter, we will learn to use asynchronous programming in Python, which is how more than one task can be executed in parallel. We will be covering the following topics:
- Updating a progress bar using a thread
 - Updating two progress bars using two threads
 - Updating progress bars using threads bound with a locking mechanism
 - Updating progress bars simultaneously using asynchronous operations
 - Managing resources using context manager