为什么我们使用带锁定语句的私有对象?

时间:2014-12-07 11:40:13

标签: c# locking

为什么我们需要private obj?还是任何一种物体?锁参数的目的是什么?

       private static object obj = new object();
        static void Print() {
            lock (obj)
            {
                Console.WriteLine("Start");
                Thread.Sleep(100);
                Console.WriteLine("End");
            }
        }

如何使用此代码?

1 个答案:

答案 0 :(得分:2)

  

为什么我们需要private obj

它实际上不必是私有的,代码也可以与公共对象一样工作。你可以锁定任何物体。

但最佳做法是尽可能隐藏锁定对象,并且只允许实际需要它的代码访问它。这有助于防止死锁。