Комментарии 2
Хорошо написано. Но кто не знает rust не очень поймут зачем нужен и что делает Send. Но догадаться легко.
0
Известная проблема, в дотнете точно так же для этого есть свои асинхронные примитивы, и в язык закостылена примерно похожая ошибка:
async Task Foo()
{
var obj = new object();
lock (obj)
{
await Task.Delay(1000); // CS1996 Cannot await in the body of a lock statement
}
}
Компилятор догадывается, что ничего хорошего от такого лока не будет. Это можно довольно легко обойти, но кроме как для спортивной стрельбы по ногам оно не нужно.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Мьютекс в мире асинхронного кода