Executors创建线程池的方法说明,正确的是()
A. newCachedThreadPool()创建一个可扩展线程池的执行器。
B. newFixedThreadPool( int nThreads)创建一个固定线程数量线程池的执行器
C. newSingleThreadExecutor()在特殊需求下创建一个只执行一个任务的单个线程
D. newScheduledThreadPool(int corePoolSize)创建一个定长线程池,支持定时及周期性任务执行
查看答案
阅读下面程序 public class Example {public static void main(String[] args) {TicketWindow tw = new TicketWindow();new Thread(tw, "窗口1").start();new Thread(tw, "窗口2").start();} } class TicketWindow implements Runnable {private int tickets = 50;public void run() {while (true) {if (tickets > 0) {Thread th = Thread.currentThread();String th_name = th.getName();System.out.println(th_name + " 正在发售第 " + tickets-- + " 张票 ");}}} } 下列选项中,可能是程序运行结果的是()
A. 窗口1和窗口2各卖了50张票
B. 窗口1和窗口2共卖了50张票
C. 窗口1和窗口2各卖了25张票
D. 窗口1卖了50张票,窗口2卖了0张票
下列关于线程优先级的描述中,正确的是()
A. 线程的优先级需要操作系统支持,不同的操作系统对优先级的支持是不一样。
B. 线程的优先级是不能改变的。
C. 在程序中可以对线程的优先级进行重新设置。
D. 线程的优先级是在创建线程时设置的。
下面关于线程创建的说法中,错误的有()
A. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B. 定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C. 定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
D. 定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
下列选项中,属于可以实现多线程程序方式的是()
A. 继承Thread类
B. 自己创建一个Thread类即可
C. 实现Runnable接口
D. 实现Comparable接口