`

一道关于C#线程同步问题的面试题

    博客分类:
  • C#
阅读更多
根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。
public void test(int i)
{
    lock(this)
    {
        if (i>10)
        {
            i--;
            test(i);
         }
     }
}
答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics