У меня есть этот кусок кода, который я использую для обновления записи.Я хочу знать, как использовать SemaphoreSlim, если в одном блоке кода есть несколько операторов await.
Возможны ли взаимоблокировки и рекурсивные блокировки для приведенного ниже фрагмента кода, и когда это происходит, как избежать взаимоблокировок и рекурсивных блокировок при использовании SemaphoreSlim?
SemaphoreSlim writelock = new SemaphoreSlim(1,1);
Public async task AddValueToDB(Valuedto value)
{
try{
await writelock.WaitAsync();
_db.tblAction.add(Valuedto);
await _db.SavechangesAsync();
}
catch(Exception ex){throw ex;}
finally{writelock.Release();}
}
}
Пожалуйста, дайте мнезнать, если вы хотите больше информации о моем требовании.