单选题下列方法能够用来实现线程之间通信的是( )。Anotify()Brun()Csleep()Djoin()
单选题
下列方法能够用来实现线程之间通信的是( )。
A
notify()
B
run()
C
sleep()
D
join()
参考解析
解析:
wait()和notify()是java.lang.object类的方法,是实现线程通信的方法。wait()和notify()可以实现线程的同步:当某线程需要在synchronized块中等待共享数据状态改变时调用wait(),这样该线程等待并释放共享数据对象的锁,其他线程可以获得该对象的锁,并进入synchronized块对共享数据进行操作。当其操作结束后,只要调用notify()方法就可以通知正在等待的线程重新占有锁并运行。所以,notify()能够实现线程之间的通信。B项,run()用来定义线程体;C项,sleep()用来执行函数的挂起;D项,join()是等待该线程终止。
wait()和notify()是java.lang.object类的方法,是实现线程通信的方法。wait()和notify()可以实现线程的同步:当某线程需要在synchronized块中等待共享数据状态改变时调用wait(),这样该线程等待并释放共享数据对象的锁,其他线程可以获得该对象的锁,并进入synchronized块对共享数据进行操作。当其操作结束后,只要调用notify()方法就可以通知正在等待的线程重新占有锁并运行。所以,notify()能够实现线程之间的通信。B项,run()用来定义线程体;C项,sleep()用来执行函数的挂起;D项,join()是等待该线程终止。
相关考题:
调用以下哪些方法可以使运行状态的线程进入阻塞状态?( )A.start( ),yield( ),sleep( ),join( )和wait( )B.start( ),yield( ),sleep( ),join( ),wait( )和stop( )C.yield( ),sleep( ),join( )和wait( )D.yield( ),sleep( ),join( ),wait( )和stop( )
如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。 A.sleep方法的时间到S 如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。A.sleep方法的时间到B.获得了对象的锁C.线程在调用t.join方法后,线程t结束D.wait方法结束
下列方法被调用后,一定使调用线程改变当前状态的是( )。A.notify( )B.yield( )SXB 下列方法被调用后,一定使调用线程改变当前状态的是( )。A.notify( )B.yield( )C.sleep( )D.isAlive( )
( 32 )如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是A ) sleep() 方法的时间到B )获得了对象的锁C )线程在调用 t.join() 方法后,线程 t 结束D ) wait() 方法结束
下面关于Java中线程的说法不正确的是()A、调用join()方法可能抛出异常InterruptedException。B、sleep()方法是Thread类的静态方法。C、调用Thread类的sleep()方法可终止一个线程对象。D、线程启动后执行的代码放在其run方法中。
单选题下面关于Java中线程的说法不正确的是()A调用join()方法可能抛出异常InterruptedException。Bsleep()方法是Thread类的静态方法。C调用Thread类的sleep()方法可终止一个线程对象。D线程启动后执行的代码放在其run方法中。
单选题在以下哪种情况下,线程进入就绪状态?()A线程调用了sleep()方法时B线程调用了join()方法(终止)C线程调用了yield()方法时D线程调用了notify()方法