有关线程的哪些叙述是对的()。
A.一旦一个线程被创建,它就立即开始运行。
B.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
C.一个线程可能因为不同的原因停止(cease)并进入就绪状态。
D.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
A.一旦一个线程被创建,它就立即开始运行。
B.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
C.一个线程可能因为不同的原因停止(cease)并进入就绪状态。
D.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
A.一旦一个线程被创建,它就立即开始运行
B.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行
C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面
D.一个线程可能因为不同的原因停止(cease)并进入就绪状态
A.Ⅱ、Ⅲ
B.Ⅱ、Ⅳ
C.Ⅰ、Ⅱ
D.Ⅲ、Ⅳ
A.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行
B.一旦一个线程被创建,它就立即开始运行
C.如果复用一个线程,可以调用再次调用start方法,使已经结束的线程复活
D.join方法,可使当前线程阻塞,直到thread线程运行结束
A.通过调用stop()方法而停止的线程
B.通过调用sleep()方法而停止运行的线程
C.通过调用wait()方法而停止运行的线程
D.通过调用suspend()方法而停止运行的线程
在多对一的线程模型中,当一个多线程进程中的某个线程被阻塞后()。
A.该进程的其他线程仍可继续运行
B.整个进程都将阻塞
C.该阻塞线程将被撤销
D.该阻塞线程将永远不可能在执行
B.newCachedThreadPool()创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制
C.newSingleThreadExecutor()创建了一个固定长度的线程池,而且以延迟或定时的方式来执行任务,类似于Timer
D.newScheduledThreadPool(int corePoolSize)这是一个单线程的Executor,它创建单个工作线程来执行任务,如果这个线程异常结束,会创建一个新的来替代它;它的特点是能确保依照任务在队列中的顺序来串行执行
A.限定线程的个数,不会导致由于线程过多导致系统运行缓慢或崩溃
B.线程池每次都不需要去创建和销毁,节约了资源
C.线程池不需要每次都去创建,相应时间更快
D.使用线程池可以使线程的创建不用人工控制,但是会让高并发情况下的线程运行效率降低
A.t1 线程暂停执行直到 t2 线程执行完成
B.t2 线程暂停执行直到 t1 线程执行完成
C.t1 和 t2 同时运行
D.t1 线程结束运行,t2 线程开始运行