Binlerce isteği işleyen bir ASP.net web sitesi oluşturuyorum ve bunların hepsi, okumak için paylaştıkları bir ana nesneden kaynaklanıyor. Kafamı bu farklı kilitler etrafında sarmaya çalışıyorum.anlama Kilitleme yardımı?
Her biri için sahip olduğum bazı genel sorular. Ne zaman sağ üst üste kullanmaktır
- her kilit Uygulama, Oturum kapsamı nedir,
- Nesne?
- Birden çok kullanıcı kodu bir defada kilitte çalıştırabilir mi?
- Performans Hit?
1.
public class MyClass
{
lock
{
// DO COOL CODE STUFF.
}
}
2.
public class MyClass
{
Application.Lock
// DO COOL CODE STUFF.
Application.Unlock
}
3.
public static object lockObject = new object();
public class MyClass
{
lock(lockObject)
{
// DO COOL CODE STUFF.
}
}
4.
private static readonly ReaderWriterLockSlim slimLock = new ReaderWriterLockSlim();
public class MyClass
{
slimLock.EnterWriteLock();
// DO COOL CODE STUFF HERE.
slimLock.ExitWriteLock();
}