试题与答案

下列叙述中,错误的是A.Java中没有检测和避免死锁的专门机制 B.程序中多个线程互

题型:单项选择题

题目:

下列叙述中,错误的是

A.Java中没有检测和避免死锁的专门机制

B.程序中多个线程互相等待对方持有的锁,可能形成死锁

C.为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放

D.为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放

答案:

参考答案:D

解析: 本题考查Java线程的同步机制。如果程序中多个线程互相等待对方的持有的锁,而在得到对方锁之前都不会释放自己的锁,这就造成了都想得到资源而又都得不到,线程小能继续运行,这就是死锁。Java中没有检测与避免死锁的专门机制,因此完全由程序进行控制,防止死锁的发生。应用程序可以采用的一般做法是:如果程序要访问多个共享数据,则要首先从全局考虑定义一个获得锁的顺序,并且在整个程序中都遵守这个顺序。释放锁时,要按照加锁的反序释放。 经过上述解释,可知选项D的说法是错误的,故正确答案是D。

试题推荐
微信公众账号搜索答案