我正在进行与监视器相关的在线测验。这些是4个真假问题和我的答案。如果我的答案错了,你能解释一下原因吗?
如果使用notifyAll() T
只有声明为扩展线程或实现runnable的对象在Java中具有监视器锁 F
答案 0 :(得分:1)
如果使用notifyAll(),在Java中使用监视器时绝对不会发生Starvation。的˚F强>
如果一个线程没有被授予CPU时间,因为其他线程全部获取它,它被称为"饥饿"。 Check here for more.
notifyAll()
时,JVM会唤醒所有线程,然后唤醒所有线程
线程争夺此对象的锁定。现在,CPU调度程序选择
获取此对象锁定的线程。这意味着使用
notifyAll()
无法避免饥饿,因为某些线程可能总是失去争用。仅声明扩展线程或实现runnable的对象 在Java中有一个监视器锁。的˚F强>
来自java.lang.Object
的每个类都有监视锁定。 Check here for more.