4、下面四个选项中,哪些是线程进入阻塞状态的原因?
A、A.线程试图获取某个对象的同步锁,而该锁被其它线程持有
B、B.线程调用了另一个线程的join()方法
C、C.当线程调用了一个阻塞式的IO方法
D、D.线程调用了setDaemon(boolean b)方法
A、A.线程试图获取某个对象的同步锁,而该锁被其它线程持有
B、B.线程调用了另一个线程的join()方法
C、C.当线程调用了一个阻塞式的IO方法
D、D.线程调用了setDaemon(boolean b)方法
第1题
A、线程试图获取某个对象的同步锁,而该锁被其它线程持有
B、线程调用了另一个线程的join()方法
C、当线程调用了一个阻塞式的IO方法
D、线程调用了setDaemon(boolean b)方法
第2题
A、A.锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误
B、B.提高线程的执行效率
C、C.让线程独占一个资源
D、D.让多个线程同时使用一个资源
第3题
A、A.调用了线程的start()方法,该线程就进入运行状态
B、B.线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态
C、C.线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它
D、D.线程进入死亡状态后,调用它的start()方法仍然可以重新启动
第4题
A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C、定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
D、定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法
第5题
A、A.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B、B.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C、C.定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
D、D.定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法
第6题
B.Java虚拟机没有检测和处理死锁的措施
C.一旦出现死锁,程序会发生异常
D.处于死锁状态的线程处于阻塞状态,无法继续运行
第7题
A、extends
B、implements
C、:
D、空
第8题
A、extends
B、implements
C、:
D、空
第10题
public class ThreadTest extends Thread {
public static void main(String args[]) {
ThreadTest t=new ______;
t.start();
}
public void run() {
int i=0;
while(true) {
System.out.println("Hello!");
if(i++==4)break;
}
}
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!