上边的同志们回答的都很好,就是要明白什么是死锁,才能在实际开发中避免这种情况的发生。 我认为应该尽量不要使用锁的嵌套,在代码量非常庞大情况下很容易出现错误。 其实开发的话可以使用JDK1.5的新特性,lock(),unlock()方法:代码示例如下
Lock l = ...;
l.lock();
try {
// access the resource protected by this lock
} finally {
l.unlock();
}
A successful lock operation has the same memory synchronization effects as a successful Lock action.
A successful unlock operation has the same memory synchronization effects as a successful Unlock action.
lock就是为***加锁
相反unlock就是为***解锁。
|