Các blocking call như .Result dừng thread hiện tại lại để chờ task hoàn thành.
- Trong UI app (WPF, WinForms) hoặc classic ASP.NET (có SynchronizationContext), nếu continuation của task cần dùng đúng thread đó thì cả hai cùng chờ nhau — deadlock kinh điển.
- Lưu ý: ASP.NET Core (Kestrel) KHÔNG cài SynchronizationContext nên deadlock này không xảy ra ở đó — nhưng vẫn nên tránh
.Resultvì block thread pool. - Luôn dùng
awaitthay thế.