昨天做了个面试题,我不明白什么意思
知道的给我解释一下好吗?问是下面的程序,当i>10的时候是否会发生死锁,并说明原因void test(int i)
{
   lock(this)
   {
      if(i>10)
      {
         i--;
         test(i);
      }
   }
}

解决方案 »

  1.   

    lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 没有用到多线程,绝对不会发生死锁。
      

  2.   

    lock 关键字用来指定一个临界区,同时只能有一个线程进入临界区
    在除临界区之前,其他线程只能等待
    是用互斥来实现的
      

  3.   

    呵呵~~谢谢了,我就是对lock不知道理解