How To Use Python Asyncio With Examples

Python Asyncio is a library that provides an easy way to write asynchronous code in Python. Asyncio allows you to write non-blocking code that runs concurrently, making it an ideal choice for building high-performance networking applications, web applications, and other I/O-bound tasks. In this article, I will tell you how to install python asyncio library and how to use it with examples.

1. How To Install Python Asyncio Module.

  1. Open a terminal and run the command pip3 install asyncio or pip install asyncio to install the python asyncio library.
    -->pip install asyncio
    Collecting asyncio
    Downloading https://files.pythonhosted.org/packages/22/74/07679c5b9f98a7cb0fc147b1ef1cc1853bc07a4eb9cb5731e24732c5f773/asyncio-3.4.3-py3-none-any.whl (101kB)
    100% |██████████| 102kB 231kB/s
    Installing collected packages: asyncio
    Successfully installed asyncio-3.4.3
    -->
  2. After install python asyncio successfully, you can run the command pip show asyncio to see the detailed installation info.
    (MyPython) C:\Users\Zhao Song>pip show asyncio
    Name: asyncio
    Version: 3.4.3
    Summary: reference implementation of PEP 3156
    Home-page: http://www.python.org/dev/peps/pep-3156/
    Author: UNKNOWN
    Author-email: UNKNOWN
    License: UNKNOWN
    Location: c:\users\zhao song\appdata\roaming\python\python39\site-packages
    Requires:
    Required-by: revChatGPT

2. How To Use Python Asyncio With Examples.

2.1 Python Asyncio Hello World Example.

  1. Here is a simple example of using Asyncio to run an asynchronous task.
    import asyncio 
    
    async def hello(): 
        print("Hello") 
        await asyncio.sleep(10) 
        print("wait for 10 seconds.")
        print("World") 
        
    loop = asyncio.get_event_loop() 
    loop.run_until_complete(hello())
    
    print("Main function exit.")
  2. When you run the above python source code, you will get the below output in console.
    Hello
    wait for 10 seconds.
    World
    Main function exit.
  3. In this example, we define an asynchronous function `hello()` using the `async` keyword.
  4. Inside the function, we print “Hello“, wait for 10 seconds using `asyncio.sleep()`, and then print “World“.
  5. We then create an event loop and run the `hello()` function using the `run_until_complete()` method.

2.2 Python Asyncio Run Multiple Tasks Concurrently Example.

  1. Let’s take a look at another example that shows how to use asyncio to run multiple tasks concurrently.
    import asyncio
    
    async def compute(x, y):
        print(f"Compute {x} + {y}")
        await asyncio.sleep(1)
        return x + y
    
    async def print_sum(x, y):
        result = await compute(x, y)
        print(f"{x} + {y} = {result}")
    
    loop = asyncio.get_event_loop()
    
    loop.run_until_complete(asyncio.gather(print_sum(1, 2), print_sum(3, 4)))
  2. When you run the above example source code, you will get the below output.
    Compute 1 + 2
    Compute 3 + 4
    1 + 2 = 3
    3 + 4 = 7
  3. In this example, we define two asynchronous functions `compute()` and `print_sum()`.
  4. The `compute()` function takes two arguments `x` and `y`, prints the message “Compute x + y“, waits for one second using `asyncio.sleep()`, and returns the sum of `x` and `y`.
  5. The `print_sum()` function takes two arguments `x` and `y`, waits for the result of `compute()` using the `await` keyword, and then prints the sum of `x` and `y`.
  6. We then create an event loop and run two instances of `print_sum()` concurrently using the `asyncio.gather()` method.
  7. Asyncio provides many other features, including coroutines, tasks, futures, and event loops, that you can use to build powerful asynchronous applications.
  8. With Asyncio, you can write code that is both efficient and easy to read and maintain.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.