Both calls most likely takes the same time to return, the difference is that the first call will block the thread but the second call will return the thread to the pool and allow it to be used by another request. Essentially meaning that your Service can handle more requests per second when using the await
keyword.
Use await
where possible to prevent the thread from blocking. Do some reading on async and await - https://learn.microsoft.com/en-us/dotnet/csharp/async
From MSDN - The await
keyword is where the magic happens. It yields control to the caller of the method that performed await, and it ultimately allows a UI to be responsive or a service to be elastic.
Essentially the await
keyword yields control back to the caller and releases the thread back into the threadpool.