News for hackers. Stuff that matters.

asyncawaaait

Re:.NET 5.0 on Tuesday November 10, 2020 @08:31PM (#25054565)
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?

Re:.NET 5.0 on Tuesday November 10, 2020 @04:39PM (#25052338)
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.

Re:.NET 5.0 on Tuesday November 10, 2020 @02:27PM (#25050452)
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).

Re:.NET 5.0 on Tuesday November 10, 2020 @02:22PM (#25050364)
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.