This section lists guidelines for when to use synchronous or asynchronous action methods.
These are just guidelines; examine each application individually to determine whether asynchronous methods help with performance.
The CLR thread pool has limitations on new thread injections.
If concurrency is bursty (that is, your web site can suddenly get a large number of requests) and all available request threads are busy because of backend calls with high latency, the limited thread injection rate can make your application respond very poorly.
While the task is running I would like to get reports on progress, and I would like to incorporate another button that will stop the task at any time I choose.By using another thread to modify the collection, your user interface remains responsive to user interaction.- FAQ Make sure you know the difference between Asynchronous, Parallel and Concurrent.I simplified Bijan's answer to help me think through the problem using the nice formatting provided by Stack Overflow.
By carefully reading and editing Bijan's post I finally understood: How to wait for async method to complete?NET 4.5 default maximum of 5, 000 threads would consume approximately 5 GB more memory than an application able the service the same requests using asynchronous methods and only 50 threads.