Tworzę witrynę ASP.net, która obsługuje tysiące żądań, a wszystko to pochodzi od jednego głównego obiektu, który wszyscy udostępniają, aby go przeczytać. Próbuję zawinąć głowę wokół tych różnych typów zamków.zrozumienie Blokowanie pomocy?
Niektóre typowe pytania mam dla siebie.
- Jaki jest zakres każdej aplikacji zamka, sesja, obiekt
- Kiedy jest ona prawo do korzystania z jednego nad drugim?
- wielu użytkowników może uruchomić kod do zamka w jednym czasie?
- Wydajność 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();
}