单选题下列情况中,不会使线程返回所持有的对象锁的是(  )。A当synchronized()语句块执行完毕B当调用了线程的suspend()方法C当在synchronized()语句块中出现异常(Exception)D当持有锁的线程调用该对象的wait()方法;

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

当synchronized()语句块执行完毕

B

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

C

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

D

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


参考解析

解析:
对象的锁在如下几种情况下由持有线程返还:①当synchronized()语句块执行完后;②当在synchronized()语句块中出现异常(exception)时;③当持有锁的线程调用该对象的wait()方法时。而调用线程的suspend()方法只是使线程暂时停止执行,可以使用其他线程调用resume()方法恢复执行。

相关考题:

resume( )方法恢复哪些线程的执行?A.通过调用stop( )方法而停止的线程B.通过调用sleep( )方法而停止运行的线程C.通过调用wait( )方法而停止运行的线程D.通过调用suspend( )方法而停止运行的线程

下列关于线程的说法中,正确的是A.一个线程一旦被创建,就立即开始运行B.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.当运行状态的线程因为调用了yield()方法而停止运行,它一定被放在可运行线程队列的前面D.当因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态

在以下哪种情况下,对象不会解锁?( )A.synchronized段语句块执行完毕B.synchronized语句块中出现exceptionC.持锁线程调用对象wait () 方法D.synchronized语句块中调用suspend () 方法

下列情况中,不会使线程返回所持有的对象锁的是( )。A.当synchronized()语句块执行完毕B.当调用了线程的suspend()方法C.当在synchronized()语句块中出现异常(Exception)D.当持有锁的线程调用该对象的wait()方法

resume()力法恢复哪些线程的执行A.通过调用stop()方法而停止的线程B.通过调用sleep()方法而停止运行的线程C.通过调用wait()方法而停止运行的线程D.通过调用suspend()方法而停止运行的线程

方法resume()负责恢复哪些线程的执行( )。A.通过调用stop()方法而停止的线程B.通过调用sleep()方法而停止运行的线程C.通过调用wait()方法而停止运行的线程D.通过调用suspend()方法而停止运行的线程

下列说法中错误的一项是A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法C.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁D.wait()和notify()可以实现线程的同步操作

如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是A.sleep()方法的时间到B.获得了对象的锁C.线程在调用t.join()方法后,线程t结束D.wait()方法结束

在多线程并发程序设计中,能够给对象x加锁的语句是( )。A.X.wait( )B.svnchronized(x)C.X.notify( )D.x.synchronized( )

resume方法恢复( )的执行。A.通过调用stop方法而停止的线程B.通过调用sleep方法而停止运行的线程C.通过调用wait方法而停止运行的线程D.通过调用suspend方法而停止运行的线程

5,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

在多线程并发程序设计中,能够给对象x加锁的语句是( )。A.X.waitB.synchronized(x)C.X.notifyD.x.synchronized

在多线程并发程序设计中,能够给对象x加锁的语句是( )。 A.X.waitB.synchronized(x)S 在多线程并发程序设计中,能够给对象x加锁的语句是( )。A.X.waitB.synchronized(x)C.X.notifyD.x.synchronized

下列说法中错误的一项是______。A.当线程获得了某个对象的排他锁时,它可以独自访问该对象,而其他线程无法访问B.当线程获得了某个对象的排他锁时,它可以独自访问该对象,其他线程也可以通过某种策略访问C.临界区可以是一个方法D.程序中单独并发的线程可以对同一个对象进行访问

( 32 )在多线程并发程序设计中,能够给对象 x 加锁的语句是A ) x.wait( )B ) synchronized(x)C ) x.notify( )D ) x.synchronized( )

( 32 )如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是A ) sleep() 方法的时间到B )获得了对象的锁C )线程在调用 t.join() 方法后,线程 t 结束D ) wait() 方法结束

对于wait()方法,下面说法正确的是?()A、wait()方法的调用者是同步锁对象B、wait()方法使线程进入等待状态C、调用同一锁对象的notify()或notifyAll()方法可以唤醒调用wait()方法等待的线程D、调用wait()方法的线程会释放同步锁对象

下面四个选项中,哪些是线程进入阻塞状态的原因?()A、线程试图获取某个对象的同步锁,而该锁被其它线程持有B、线程调用了另一个线程的join()方法C、当线程调用了一个阻塞式的IO方法D、线程调用了setDaemon(boolean b)方法

线程同步中,对象的锁在()情况下持有线程返回A、 当synchronized()语句块执行完后B、 当在synchronized()语句块执行中出现例外(exception)时C、 当持有锁的线程调用该对象的wait()方法时D、 以上都是

当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

多选题下面四个选项中,哪些是线程进入阻塞状态的原因?()A线程试图获取某个对象的同步锁,而该锁被其它线程持有B线程调用了另一个线程的join()方法C当线程调用了一个阻塞式的IO方法D线程调用了setDaemon(boolean b)方法

单选题线程同步中,对象的锁在()情况下持有线程返回A 当synchronized()语句块执行完后B 当在synchronized()语句块执行中出现例外(exception)时C 当持有锁的线程调用该对象的wait()方法时D 以上都是

多选题对于wait()方法,下面说法正确的是?()Await()方法的调用者是同步锁对象Bwait()方法使线程进入等待状态C调用同一锁对象的notify()或notifyAll()方法可以唤醒调用wait()方法等待的线程D调用wait()方法的线程会释放同步锁对象

单选题在多线程并发程序设计中,能够给对象x加锁的语句是(  )。Ax.wait()Bsynchronized(x)Cx.notify()Dx.synchronized()

问答题当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

单选题下列关于线程的说法中,正确的是(  )。A一个线程一旦被创建,就立即开始运行B使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C当运行状态的线程因为调用了yield()方法而停止运行,它一定被放在可运行线程队列的前面D当因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态

( 难度:中等)下列关于线程说法正确的是:A.调用sleep不会释放对象锁B.调用wait方法导致本线程放弃对象锁C.当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它方法D.notify():唤醒全部处于等待状态的线程E.任何对象都具有sleep方法