实现线程包的根本方法有〔〕。
A.构造一个完全在用户模式下执行的线程库
B.由进程间通信实现
C.由内核来管理线程并进展调度
D.由用户程序来实现
A.构造一个完全在用户模式下执行的线程库
B.由进程间通信实现
C.由内核来管理线程并进展调度
D.由用户程序来实现
A.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B.定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
C.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
D.定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
A.wait()方法可以使线程处于阻塞状态
B.这三个方法都是Object类提供的public方法
C.notify()方法可以使线程处于阻塞状态
D.notifyAll()方法唤醒所有wait线程
A.实现java.lang.Runnable接口并重写start()方法
B.实现java.lang.Runnable接口并重写run()方法
C.实现java.lang.Thread类并重写run()方法
D.实现java.lang.Thread类并实现start()方法
A.创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值
B.创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值
C.使用FutureTask对象作为Thread对象的target创建并启动新线程
D.调用FutureTask对象的getValue()方法来获得子线程执行结束后的返回值
A.实现java.lang.Runnable接口并重写run()方法
B.实现java.lang.Runnable接口并重写start()方法
C.实现java.lang.Thread类并实现start()方法
D.继承java.lang.Thread类并重写new()方法
A.Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口
B.Servlet接口定义了Servelt的生命周期方法
C.当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程线程!
D.Servlet客户线程调用service方法响应客户的请求
B.HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步
C.HashMap允许将null作为一个entry的key或者value,而Hashtable不允许
D.通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中