首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

lock 的一个有关问题,求解答

2013-10-18 
lock 的一个问题,求解答!对于只有一个线程中,如果对一个对象进行两次lock,会不会导致死锁例如class Progra

lock 的一个问题,求解答!
对于只有一个线程中,如果对一个对象进行两次lock,会不会导致死锁
例如


    class Program
    {
        private static readonly object obj = new object();
        static void Main(string[] args)
        {
            lock (obj)//获取obj锁
            {
                lock (obj)//获取obj锁失败?以下代码不会执行?但实际上是可以执行的
                {
                    Console.WriteLine("hello");
                }
            }
            Console.Read();
        }

    }

我以为在第二个lock(obj)中的代码块会无限等待,这里会死锁,但实际不是,可以输出hello的
这处有点不太理解,求解释! lock 线程 死锁
[解决办法]
lock是指多线程之前的访问控制,同一线程没有lock的概念。
[解决办法]
楼主还没弄清楚lock的用法吧
[解决办法]
lock防止并发操作,你在单线程里面。只有一个一个线程访问,所以不需要lock。

热点排行