同期待ちの混入(sync-over-async)
非同期処理の継続やワーカーの中で、同期I/OやTask.Result/Wait()のような同期的な待ちを行ってしまうアンチパターン。スレッドプール飢餓の主因になる。
この概念が関わる関係
- 同期待ちの混入(sync-over-async)はスレッドプール飢餓(starvation)の原因になることがあります。
- 同期待ちの混入(sync-over-async)はスレッドプール飢餓(starvation)の原因になることがあります。
- 同期待ちの混入(sync-over-async)を.NETスレッドプールに用いることは推奨されません。
- 同期待ちの混入(sync-over-async)はデッドロック(deadlock)の原因になることがあります。
この概念を扱う記事
- C# async/await実務判断表 - Task.RunとConfigureAwait(言及)
- Windows I/Oの深層(第3回) ── I/O完了ポート(IOCP)と.NETスレッドプール:async/awaitの地下室(言及)
- WPF/WinFormsのasyncとUIスレッドを一枚で整理(言及)
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。