下列方法被调用后,一定使调用线程改变当前状态的是( )。
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.sleep( )
B.yield( )
C.interrupt( )
D.stop( )
第3题:
在线程通信中,调用()方法可以是当前线程处于等待状态,而为了唤醒一个等待的线程,需要调用的方法是notify()/notifyAll()。(写出方法名)
第4题:
使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
A.time( )
B.yield( )
C.load( )
D.min( )
第5题:
下列关于Thread类的线程控制方法的说法中错误的选项是()。
A.线程可以通过调用sleep()方法使比当前线程优先级低的线程运行
B.线程可以通过调用yield()方法使和当前线程优先级一样的线程运行
C.线程的sleep()方法调用结束后,该线程进入运行状态
D.若没有相同优先级的线程处于可运行状态,线程调用yield()方法时,当前线程将继续执行