我真的想都想不出来
我能想到的一件事是
@synchronized (self)
{
@synchronized (self){}
}
但是这不会陷入僵局,因为锁是循环性的, 并且只会允许同样的线条通过。 所以基本上,如果整个程序只使用一个变量, 你就不能陷入僵局。
我能想到的另外一个是
@synchronized (A)
{
@synchronized (B){}
}
在一个线条中
@synchronized (B)
{
@synchronized (A){}
}
在另一处,我说得对吗?
那么,如何避免僵局?