[C#] awaitを含むコードの排他制御 - Qiita
この投稿の前提情報 awaitを含むということはほとんどの場合時間的に長い処理であり、この間ずっと他のスレッドをブロックしっぱなしというものは決して褒められたコードではない。 できるのであれば、その非同期メソッド内の同期処理部分の必要な部分だけをlockするのが最善である...