下列叙述中,错误的是

admin2012-03-21  19

问题 下列叙述中,错误的是

选项 A、Java中没有检测和避免死锁的专门机制
B、程序中多个线程互相等待对方持有的锁,这可能形成死锁
C、为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放
D、为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放

答案D

解析 如果程序中多个线程互相等待对方持有的锁,而在得到对方锁之前都不会释放自己的锁,这就造成了都想得到资源而又都得不到,线程不能继续运行,这就是死锁。Java中没有检查与避免死锁的专门机制,完全由程序进行控制,防止死锁的发生。应用程序采用的一般做法是:如果程序要访问多个共享数据,则要首先从全局考虑定义一个获得锁的顺序,并且在整个程序中都遵守这个顺序。释放锁时,要按加锁的反序释放。故答案为D。
转载请注明原文地址:https://kaotiyun.com/show/w62p777K
0

最新回复(0)