~/talk

Cliff diving into async in .NET Core and C# 8

Talkat Dotnetos Conference 2019 · 2019-10-10..10-11· [reactive-programming]
slides:none on file

Demonstrates concrete problems and fixes for real async code on .NET Core 3.0 / C# 8: reproduces SyncOverAsync deadlocks, measures thread-starvation from Task.Run wrappers, and implements an SLA wrapper that cancels after 10s using linked CancellationTokenSources and TaskCompletionSource with RunContinuationsAsynchronously. Explains memory and frame savings for non-async returns, shows improved stack traces, and builds working examples of IAsyncDisposable cleanup and streaming with IAsyncEnumerable that actually run on stage.

AI-written summary · about

  1. 0:00Start
  2. 9:42introduce a thread starvation problem
  3. 16:49accept the cancellation token
  4. 17:23pass a cancellation token to an http client
  5. 20:47use the task completion source and the task
  6. 21:07use the task completion source
  7. 23:15attach a delegate to the cancellation token
  8. 44:43combine the streaming nature with the async concurrency
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.