HNHacker News
TopNewBestAskShowJobs

asyncawaaait

12 karma · joined November 10, 2020

submissionscomments
asyncawaaait··on .NET 5.0
Stack traces were massively improved in 2.1.

Using a good IDE (Rider or Visual Studio), debugging async/await code works as expected.

Are you doing interop or calling unmanaged code?

asyncawaaait··on .NET 5.0
There is a resource tradeoff. async/await has a minor CPU/memory impact, but it can also free up threads to do other work during an I/O bound operation.

Threads have their own resource cost.

asyncawaaait··on .NET 5.0
How does async/await introduce complexity where threading wouldn’t?

In my experience, the complexity is vastly reduced by not having to implement tricky asynchronous APIs (Task Paralell, thread pools, BackgroundWorker, etc).

asyncawaaait··on .NET 5.0
Awaiting a storage operation (ie. look up user) in C# will allow other calls to proceed until the I/O is available to read.

Synchronous code locks you into the model of handling one request per thread.

Given the minor overhead (both cognitive and runtime) of a sync/await, I can’t see why you wouldn’t want to do it here.