多项选择题
下面四个选项中,哪些是线程进入阻塞状态的原因?()
A.线程试图获取某个对象的同步锁,而该锁被其它线程持有
B.线程调用了另一个线程的join()方法
C.当线程调用了一个阻塞式的IO方法
D.线程调用了setDaemon(boolean b)方法
点击查看答案&解析
相关考题
-
多项选择题
对于死锁的描述,下面四种说法正确有哪些?()
A.当两个线程互相等待对方释放同步锁时会发生死锁
B.Java虚拟机没有检测和处理死锁的措施
C.一旦出现死锁,程序会发生异常
D.处于死锁状态的线程处于阻塞状态,无法继续运行 -
多项选择题
对于线程的生命周期,下面四种说法正确的有哪些?()
A.调用了线程的start()方法,该线程就进入运行状态 (就绪,还要获得CPU使用权)
B.线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态
C.线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它
D.线程进入死亡状态后,调用它的start()方法仍然可以重新启动 -
多项选择题
对于通过实现Runnable接口创建线程,下面说法正确的有哪些?()
A.适合多个相同程序代码的线程去处理同一个资源的情况
B.把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想
C.可以避免由于Java的单继承带来的局限性
D.编写简单,可以不通过Thread类直接创建线程