我拥有这段用于更新记录的代码。 如果一个代码块中有多个await语句,我想知道如何使用SemaphoreSlim。
下面的代码段是否会发生死锁和递归锁,当它发生时,在使用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();}
}
}
如果您需要有关我的要求的更多信息,请告诉我。