问一个线程安全的问题。以下代码调用textLock方法时,i>5是否会引起死锁?为什么?
public void textLock(int i)
{
lock(this)
{
if(i> 5)
{
i--;
textLock(i);
}
}
}
------解决方案--------------------什么意思?你在问什么?丝毫看不出为什么会以为有什么死锁?
我猜你认为lock(this){}就等于锁住了this内定义的或者{}中的所有局部变量,或者这些局部变量任何一个一旦修改就自动上锁,完全把lock(){}看成关系数据库了。说实在的,如果有这样的程序员是很气人的。不过学校教育很不到位,这样的想法却是很多。