Loading video player…

Coding a Basic Example

00:00 So in this lesson, I will talk you through the code of the basic async programming example and you will be using codetiming. So please use pip to pip install codetiming.

00:12 And also please remember that of course you can download the code so you can follow along more easily.

00:20 And here is the code. So line one, import asyncio. That is the package that is used for asynchronous programming. And then from codetiming on line two, import Timer.

00:32 Now remember ,I want to run three tasks. Concurrently, I want to multitask between three tasks. So I’ve created a generic run_task() function on line six.

00:43 Now I want to multitask asynchronously, so I use async def and the input parameters are name and duration. The key functionality here is on line 11, where I use sleep from asyncio to simulate a task that takes a certain duration, so a certain number of seconds, and I want to multitask so I use await. Line eight, I create a timer, which I then use on line nine to start a timer, and on line 12 to stop it so I can time how long the task actually took.

01:17 So the tasks are in line 16. So in our task list, which has three tuples, one tuple for each task with the name and the duration.

01:29 But then scroll down to line 19, where is our main function. Again, I want to multitask here. So it’s async def and the key functionality is really on lines 22 and 23.

01:42 On line 22, I use gather from asyncio to multitask between three tasks. And those three tasks are on line 23. So I use run_task() or call run_task() three times, and each time I unpack a different tuple from the task list.

02:02 Then on line 20, I create a timer, which again, I use on line 21 and 25 to time how long the whole thing took. And finally, on line 30, I start the event loop using run() from asyncio.

02:20 So to run the file, I type python async.py. And when you hit Enter, you’ll see that the three tasks have started at the same time. So 'Start laptop', 'Make coffee', and 'Open parcel'. And 'Make coffee' took three seconds as did 'Open parcel'.

02:35 That took three seconds. And by now 'Start laptop', which took 10 seconds, was also finished. So in total it took 10 seconds, not 16. And of course, that is what we were aiming for because we were coding asynchronously.

02:52 So multitasking did happen. That’s a good start, but we haven’t done any iteration yet. So in the next lesson, you will be looking at iterators and iterables.

Become a Member to join the conversation.