6、根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。(10分)
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}
答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)
线程安全知识
最新推荐文章于 2025-09-01 09:04:43 发布
本文分析了一段使用递归的Java代码,并讨论了在特定条件下是否会引发死锁的问题。文章指出由于int变量按值传递,该代码不会导致死锁,并对比了如果使用对象时可能出现的情况。
10万+

被折叠的 条评论
为什么被折叠?



