题目是这样的,想必很多人都看过这个东西吧:
根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。 public void test(int i) 

lock(this) 

if (i>10) 

i--; 
test(i); 


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

---------------------------------------------------------------------------------------------------------------
我的问题这样:我以前基本没接触过多线程的,如果觉得我的问题很白痴 请见谅!
我没想明白答案所说的int是按值传递传递的只是一个副本,换成object就会死锁 是一个什么样的情况,
是在多线程情况下吗,是两个线程同时调用这个方法吗。是两个或多个线程的话,lock锁住了对象 那其他线程就不回去执行了,,,,那单线程下的话 就更不应该出现死锁了,,,那答案中所说的int换成object会死锁 到底是一个什么样的情况呢。。?