下列说法中错误的一项是A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait(

题目

下列说法中错误的一项是

A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法

B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法

C.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁

D.wait()和notify()可以实现线程的同步操作

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

【多选题】对于wait()方法,下面说法正确的是?(多选)

A.wait()方法的调用者是同步锁对象

B.wait()方法使线程进入等待状态

C.调用同一锁对象的notify()或notifyAll()方法可以唤醒调用wait()方法等待的线程

D.调用wait()方法的线程会释放同步锁对象


ABCD

第2题:

线程同步中,对象的锁在()情况下持有线程返回

A.当synchronized()语句块执行完毕后

B.当在synchronized()语句块执行中出现例外(exception)时

C.当持有锁的线程调用该对象的wait()方法时

D.以上都是


以上都是

第3题:

4、线程同步中,对象的锁在()情况下持有线程返回

A.当synchronized()语句块执行完毕后

B.当在synchronized()语句块执行中出现例外(exception)时

C.当持有锁的线程调用该对象的wait()方法时

D.以上都是


D

第4题:

下列叙述哪个是正确的?

A.以notify(t)要求线程t恢复工作

B.调用wait()方法可以让线程处于等待状态

C.synchronized只能用于协调两个线程,对多个线程无效

D.以方法setDaemonThread()创建Daemon


调用 notifyAll() 方法,会唤醒所有处于阻塞状态的线程

第5题:

下列说法中错误的一项是______。

A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法

B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法

C.wait()和notify()可以实现线程的同步操作

D.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁


正确答案:B
解析:线程调用wait()方法,进入等待状态,并且暂时释放共享数据的对象锁,其他的线程可以获得该对象锁,进入临界区进行操作,操作完成之后,再调用notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作。

第6题:

下列情况中,不会使线程返回所持有的对象锁的是

A.当synchronized()语句块执行完毕

B.当调用了线程的suspend()方法

C.当在synchronized()语句块中出现异常(Exception)

D.当持有锁的线程调用该对象的wait()方法


正确答案:B
解析:本题考查Java线程中对象的加锁及其操作。对象加锁的使用非常灵活,定要注意。对象的锁在如下几种情况下由持有线程返还:当synchronized()语句块执行完后,所以选项A错误;当在synchronized()语句块中出现异常(exception),所以选项B错误:当持有锁的线程调用该对象的wait()方法,此时该线程将释放对象的锁,所以选项D错误。而当调用了线程的suspend()方法只是使线程暂时停止执行,可以使用其他线程调用resume()方法恢复执行,所以选项B正确。

第7题:

下列情况中,不会使线程返回所持有的对象锁的是( )。

A.当synchronized()语句块执行完毕

B.当调用了线程的suspend()方法

C.当在synchronized()语句块中出现异常(Exception)

D.当持有锁的线程调用该对象的wait()方法


正确答案:B
解析:suspend()方法只是挂起线程,并不释放线程中持有的锁。而选项A、C、D都可以释放线程所持有的锁。

第8题:

对于wait()方法,下面说法正确的是( )。

A、wait方法()的调用者是同步锁对象

B、wait()方法使线程进入等待状态

C、调用同一锁对象的notify()或notifyAll()方法可以唤醒调用wait()方法等待的线程

D、调用wait()方法的线程会释放同步锁对象


参考答案:ABCD

第9题:

在以下哪种情况下,对象不会解锁?( )

A.synchronized段语句块执行完毕

B.synchronized语句块中出现exception

C.持锁线程调用对象wait () 方法

D.synchronized语句块中调用suspend () 方法


正确答案:D
解析:suspend ()方法只是挂起线程,并不释放线程中持有的锁。