Почему не следует смешивать async-await и lock?
От: another_coder Россия  
Дата: 25.04.16 07:15
Оценка:
Я читал о том, что подобный код нормально работать не будет
object lockObj = new object()
lock(lockObj)
{
  await AsyncMethod();
}

и такой, наверно, тоже
public void Method()
{
  Task.Factory.Run(async () => {
    SyncMethod(); // with lock
    await AnotherAsynMethod();
  });
}

object lockObj = new object()
void SyncMethod(){
  lock(lockObj)
  {
    // .. do somthing
  }
}

Только не понимаю почему. Объясните или если у кого есть удачная линка под рукой, рассказывающая про это, киньте её?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.