Processing multiple tasks while waiting for time consuming operations to finish.
Asynchronous programming allows a user to go about his business in an application while background processes run, improving the user experience.
- Initiate 3 file downloads. There is a big waiting time while the server sends all files.
- Only wait for the first download to finish instead of waiting for all 3
- When first download finishes, start processing it, then go on the next finished download and so on until all downloads are processed.