Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025

Avoiding common pitfalls with async/await - Stephen Cleary - NDC Copenhagen 2025

🎙 Stephen Cleary 👥 227K 📅 January 21, 2026 ⏱ 60 min 👁 11K 📄 expert opinion 🧭 2026-08-13
Available in: English (current) Français

Keywords

asyncawaitC#.NETpitfalls

Summary

In this talk, Stephen Cleary, a Microsoft MVP and top Stack Overflow answerer on async/await, presents common pitfalls and misconceptions in C# asynchronous programming. He begins by explaining the basics of the async and await keywords, including the state machine transformation and how await captures context. He then introduces three conceptual models for understanding async/await: asynchronous wait, type wrapper, and state machine/callback. He emphasizes that await does not mean running on a background thread and that async is not faster but improves scalability and responsiveness. He discusses the importance of treating tasks as objects, enabling composition with other types like lists and delegates. He covers ValueTask rules, warning against consuming them multiple times or blocking on them. The main pitfalls highlighted are async void methods, which should be avoided due to exception handling and completion tracking issues, and blocking on async code, which can cause deadlocks. He also touches on advanced topics like Channels and ValueTask. The talk is aimed at developers already familiar with async/await, providing practical advice and best practices.

172 words

Critical Evaluation

Value of the Information & Strength of the Argument

The talk provides valuable insights into async/await, offering clear explanations of common misconceptions and practical advice. The speaker’s expertise is evident, and he supports his points with examples and analogies. The argumentation is solid, as he systematically addresses conceptual mistakes and then moves to specific pitfalls. He also provides nuanced guidance, such as when it might be acceptable to ignore best practices. The inclusion of advanced topics like ValueTask and Channels adds depth. However, some parts are based on personal opinion and experience rather than empirical evidence, but this is typical for expert talks.

Scientific Rigor, Source Quality, Title Accuracy

The speaker demonstrates scientific rigor by explaining the underlying mechanics of async/await and referencing his own articles and resources. He mentions a blog post by ‘duality’ (likely a reference to Kyle Simpson) and a blog post by John Skeet on async, but does not provide direct URLs in the talk. The description includes links to NDC conferences, which are not directly related to the content. The title accurately reflects the content, focusing on common pitfalls. The talk is well-structured and technically accurate, though it does not cite formal research papers. The speaker’s credibility as a Microsoft MVP and top Stack Overflow answerer adds to the reliability.

215 words

Title / Content Match

The title accurately reflects the content, which focuses on common async/await mistakes and their solutions.

Quality & Reliability

8/10

The speaker is a recognized expert (Microsoft MVP, top Stack Overflow answerer) and the content is technically accurate, though it is based on personal experience and best practices rather than formal research.

Key Moments

Cited Sources

  • NDC Conferences — Conference organizer; not directly related to content.
  • NDC Copenhagen — Conference organizer; not directly related to content.

Concurring Sources

Contribution & Novelties

The talk offers a fresh perspective on async/await by presenting three conceptual models that can be switched between depending on the problem, which is a novel approach compared to typical tutorials. It also provides practical advice on ValueTask and Channels, and emphasizes the importance of treating tasks as objects. The speaker’s experience as a top Stack Overflow answerer adds credibility.

Pour aller plus loin :

102 words

Radar Profile

The radar profile shows high scores in information quantity, quality, and technical level, with a slightly lower but still strong reliability score. This indicates a technically dense and reliable talk, suitable for developers seeking in-depth knowledge.

Reliability 8/10

💬 Sur les 0 commentaires analysés, aucune tendance n'est disponible.