For locking I am using a single static object which is global to my application:
public class MvcApplication : System.Web.HttpApplication
{
public static readonly object AppLock = new object();
...
}
Using it for locking in code:
lock(MvcApplication.AppLock)
{
...
}
Let us not consider performance impact for a moment. Can I be 100% sure that I will avoid deadlock in this case?
You can not create a deadlock conditon just with one lock-object(AppLock) See http://en.wikipedia.org/wiki/Deadlock . But it is possible with this kind of codes in threads
lock(A)
lock(B)
DoSomething();
lock(B)
lock(A)
DoSomething();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With