Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Thinktecture Webinar async/await in .NET

Thinktecture Webinar async/await in .NET

Slides for my webinar about async/await in .NET.

Ebeb5d8fd081058ba8df73d378bf83d7?s=128

Sebastian P.R. Gingter

August 31, 2021
Tweet

Transcript

  1. None
  2. 2 Deep-dive in async/await bei Backend-APIs ▪ ▪ ▪ ▪

    ▪ ▪ ▪ ▪ ▪ Twitter:
  3. 3 ▪ ▪ ▪ (Theorie 😨) ▪ ▪ ▪ Deep-dive

    in async/await bei Backend-APIs
  4. 12 Deep-dive in async/await bei Backend-APIs • • • •

    • • •
  5. 13 Deep-dive in async/await bei Backend-APIs

  6. 14 Deep-dive in async/await bei Backend-APIs Task Task-Liste Threadpool T1

    Threadpool T2 Kern 1 Kern 3 Kern 2 Kern 4 Threadpool T3 Threadpool T4 Threadpool Management Jeder Pool-Thread arbeitet Tasks in einer Endlosschleife ab Completed Tasks
  7. 15 • • • • • 🤯 Deep-dive in async/await

    bei Backend-APIs
  8. 16 Deep-dive in async/await bei Backend-APIs

  9. 17 ▪ ▪ ▪ ▪ ▪ ▪ ⏳ ▪ ▪

    ▪ Deep-dive in async/await bei Backend-APIs ReadFile API: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile
  10. 18 ▪ ▪ ▪ ▪ ▪ ▪ ⏳ ▪ Deep-dive

    in async/await bei Backend-APIs ReadFile API: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile
  11. 19 Deep-dive in async/await bei Backend-APIs

  12. 20 • • async Task<> MyMethodAsync() • • • await

    OtherMethodAsync() • • await • • • • Deep-dive in async/await bei Backend-APIs
  13. 21 Deep-dive in async/await bei Backend-APIs

  14. 22 Deep-dive in async/await bei Backend-APIs

  15. 23 • • task.GetAwaiter().GetResult() → ❌ • Thread.Sleep() → ❌

    • await Task.Delay() → ✔ • Thread.SpinWait() • → ❌ • → ✔ Deep-dive in async/await bei Backend-APIs
  16. 24 • • var task1 = DoSomethingAsync(); var task2 =

    DoSomethingElseAsync(); await Task.WhenAll(task1, task2); • • • Task.Factory.StartNew(…, TaskCreationOptions.LongRunning); • • • Deep-dive in async/await bei Backend-APIs
  17. 25 • • • • Deep-dive in async/await bei Backend-APIs

  18. 26 Deep-dive in async/await bei Backend-APIs

  19. 27 ▪ ▪ ▪ ▪ ▪ ▪ Deep-dive in async/await

    bei Backend-APIs
  20. 28 ▪ ▪ ▪ ▪ ▪ 😉 Deep-dive in async/await

    bei Backend-APIs
  21. None