Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Известная проблема, в дотнете точно так же для этого есть свои асинхронные примитивы, и в язык закостылена примерно похожая ошибка:
async Task Foo()
{
var obj = new object();
lock (obj)
{
await Task.Delay(1000); // CS1996 Cannot await in the body of a lock statement
}
}Компилятор догадывается, что ничего хорошего от такого лока не будет. Это можно довольно легко обойти, но кроме как для спортивной стрельбы по ногам оно не нужно.
Мьютекс в мире асинхронного кода