根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i>10

16 查阅

根据线程安全的相关知识,分析以下代码,当调用 test 方法时 i>10 时是否会引起死锁?并简要说明理由。

public void test(int i)

{ lock(this)

{ if (i>10)

{i--;

test(i);

}}}

参考答案:

答:不会发生死锁,(但有一点 int 是按值传递的, 所以每次改变的都只是一个副本, 因此不会出现死锁。 但如果把 int 换做一个 object , 那么死锁会发生)

暂无解析