Asynchronous Programming Quiz

Below are the answers to the Asynchronous Programming Quiz, along with a brief discussion.

1. Running code on multiple threads, with the goal of utilizing responsiveness or speed.

2. A can, because it is a long-running task that could be spread across multiple threads running simultaneously. B won't benefit because it's quick to run. The overhead of making a new thread or handing it off to a thread would outweight any other benefit. C will, because it frees up the thread while it's waiting for a response, allowing other work to get done in the mean time.

3. async.

4. await

5. void, Task, Task, ValueTask.

6. void is B. This kind of asynchronous task is intended to be fire-and-forget. Task is A. You want to know when it finishes, but it doesn't produce a value as a result. Task is C. It produces a specific result.