c#同步锁Monitor.Enter(T)

Posted JerryChen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#同步锁Monitor.Enter(T)相关的知识,希望对你有一定的参考价值。

protected static object MObjLock = new object();//同步锁
        public string GetData(int mId)
        {
            Monitor.Enter(MObjLock);//lock
            string data = string.Empty;
            try
            {
                 //你的代码                
            }
            catch (Exception err)
            {
                Log4NetHelper.WriteError(err);
            }
            finally
            {
                Monitor.Exit(MObjLock);//unlock
            }
            return data;
        }

Monitor.Enter(T)上锁后,其它代码调用此方法要等到Monitor.Exit(T)之后,适用于抽奖等

以上是关于c#同步锁Monitor.Enter(T)的主要内容,如果未能解决你的问题,请参考以下文章

C#中Monitor和Lock以及区别

C#知识点总结系列:3C#中Delegate和Event以及它们的区别

C#知识点总结系列:4C#中Monitor和Lock以及区别

为啥 Monitor.Wait() 和 Monitor.Pulse() 需要锁?

如何在没有排他锁的线程中使用监视器?

线程基础四 使用Monitor类锁定资源