第1题
A.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B.定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
C.定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
D.定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
第2题
一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。()
第3题
A.Java 程序要求用户必须手工创建一个线程来释放内存
B.Java 程序允许用户使用指针来释放内存
C.内存回收线程负责释放无用内存
D.内存回收线程不能释放内存对象
第4题
A.Java语言里的线程不是对象
B.Applet不需要main方法
C.Java语言的对象都是 java.lang.Object的子类
D.double是Java语言的合法标识符
第5题
A.synchronized
B.Runnable
C.Thread
D.join
第8题
A.创建Callable接口的实现类,并实现call()方法,该call()方法将作为线程执行体,并且有返回值
B.创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值
C.使用FutureTask对象作为Thread对象的target创建并启动新线程
D.调用FutureTask对象的getValue()方法来获得子线程执行结束后的返回值
第9题
B.newCachedThreadPool()创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制
C.newSingleThreadExecutor()创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务,类似于Timer
D.newScheduledThreadPool(int corePoolSize)这是一个单线程的Executor,它创建单个工作线程来执行任务,如果这个线程异常结束,会创建一个新的来替代它;它的特点是能确保依照任务在队列中的顺序来串行执行
第10题
A.Runnable
B.Date
C.Calendar
D.Thread
第11题
当使用Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread的值是【 】。