下列有关线程的创建方式说法错误的是( )
A. 通过继承Thread类与实现Runnable接口都可以创建多线程程序
B. 实现Runnable接口相对于继承Thread类来说,可以避免由于Java的单继承带来的局限性
C. 通过继承Thread类与实现Runnable接口创建多线程这两种方式没有区别
D. 大部分的多线程应用都会采用实现Runnable接口方式创建
关于Thread类yield()方法的作用,下列描述中正确的是()
A. 使线程由运行状态进入阻塞状态
B. 使线程由运行状态进入就绪状态
C. 使线程由阻塞状态进入等待状态
D. 使线程由阻塞状态进入运行状态
CompletableFuture对象创建的方法说明,错误的是()
A. runAsync(Runnable runnable)以Runnable函数式接口类型为参数,并使用ForkJoinPool.commonPool()作为它的线程池执行异步代码获取CompletableFuture计算结果为空的对象
B. runAsync(Runnable runnable,Executor executor)以Runnable函数式接口类型为参数,并传入指定的线程池执行器executor来获取CompletableFuture计算结果为空的对象
C. supplyAsync(Supplier supplier)并使用指定作为它的线程池执行异步代码获取CompletableFuture计算结果非空的对象
D. supplyAsync(Supplier supplier, Executor executor)以Supplier函数式接口类型为参数,并传入指定的线程池执行器executor来获取CompletableFuture计算结果非空的对象
Executors创建线程池的方法说明,正确的是()
A. newCachedThreadPool()创建一个可扩展线程池的执行器。
B. newFixedThreadPool( int nThreads)创建一个固定线程数量线程池的执行器
C. newSingleThreadExecutor()在特殊需求下创建一个只执行一个任务的单个线程
D. newScheduledThreadPool(int corePoolSize)创建一个定长线程池,支持定时及周期性任务执行