下列方法被调用后,一定使调用线程改变当前状态的是( )。
A.notify
B.yield
C.sleep
D.isAlive
第1题:
下列方法被调用后,一定使调用线程改变当前状态的是。
A.notify()
B.yield()
C.sleep()
D.isAlive()
C
【解析】线程调用sleep函数后,使当前线程进入停滞状态。yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。所以只有sleep一定会改变线程状态。
第2题:
下列说法中错误的一项是______。
A.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用wait()方法
B.当线程需要在synchronized块中等待共享数据状态改变时,则需要调用notify()方法
C.wait()和notify()可以实现线程的同步操作
D.线程在synchronized块中执行完操作后,调用notify()方法通知正在等待的线程重新占有锁
第3题:
在线程通信中,调用()方法可以是当前线程处于等待状态,而为了唤醒一个等待的线程,需要调用的方法是notify()/notifyAll()。(写出方法名)
第4题:
下列方法被调用后,一定使调用线程改变当前状态的是( )。
A.notify( )
B.yield( )
C.sleep( )
D.isAlive( )
第5题:
下列关于Thread类的线程控制方法的说法中错误的选项是()。
A.线程可以通过调用sleep()方法使比当前线程优先级低的线程运行
B.线程可以通过调用yield()方法使和当前线程优先级一样的线程运行
C.线程的sleep()方法调用结束后,该线程进入运行状态
D.若没有相同优先级的线程处于可运行状态,线程调用yield()方法时,当前线程将继续执行