Aşağıdaki kod var:Kilit
private static object _dbLock = new object();
public static void LoadData()
{
lock (_dbLock)
{
//Load data from the database
}
}
public static string ReadData(Guid key)
{
lock (_dbLock)
{
//Lookup key in data and return value
}
}
ben böylece ben bir lock
koymak, bu veritabanından yüklenen esnada insanlar veri okumak için izin vermek istemiyoruz ReadData
. Ancak, şu anda birden fazla kişi aynı anda ReadData
numaralı telefonu ararsa, tek seferde yalnızca bir çağrı başlayabilir.
ReadData
eş zamanlı çağrılara izin vermenin bir yolu var, ancak LoadData
çalıştırıldığında okuyucuları engelle?
Bilmekte fayda var. Güzel şeyler! – joshgo
Mükemmel görünüyor! .NET Framework'de bunun gibi bir şey olacağını düşündüm. –