Метод блокировки и асинхронности в C#C#

Место общения программистов C#
Ответить
Anonymous
 Метод блокировки и асинхронности в C#

Сообщение Anonymous »

Мне неясно (и я не могу найти достаточно ясной документации): при использовании ключевого слова lock в методе async: будет ли заблокирован поток, если объект уже заблокирован, или будет ли он заблокирован? вернуть задачу в приостановленном состоянии (не блокируя поток и возвращая ее при снятии блокировки)?
В приведенном ниже коде будет ли строка блокировать поток? Если он блокирует поток (я так думаю), существует ли стандартное решение, не блокирующее? Я подумываю об использовании AsyncLock, но сначала хочу попробовать что-нибудь стандартное.
private object myLock = new object();

private async Task MyMethod1()
{
lock (myLock) //

Подробнее здесь: https://stackoverflow.com/questions/200 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»