java最新多线程面试题及答案.doc
java最新多线程面试题及答案
单项选择题(每题2分,共10题)
1.Java中创建线程的方式不包括()
A.继承Thread类B.实现Runnable接口C.实现Callable接口D.继承Runnable类
2.线程生命周期中哪个状态是线程执行完run方法后的状态()
A.新建B.运行C.死亡D.阻塞
3.以下哪个方法可以使当前线程暂停执行()
A.start()B.sleep()C.run()D.yield()
4.一个线程对象的具体操作是由()方法定义的
A.start()B.init()C.run()D.main()
5.线程同步中,对象的锁在()情况下持有
A.当sychronized块或方法执行结束B.当调用wait()方法C.当调用notify()方法D.当线程创建时
6.哪个关键字用于修饰同步方法()
A.staticB.finalC.synchronizedD.volatile
7.以下关于多线程的说法正确的是()
A.多线程一定能提高程序性能B.线程越多越好C.多个线程可以共享资源D.线程不能共享全局变量
8.以下哪个类用于线程间通信()
A.ThreadB.ObjectC.RunnableD.Callable
9.线程调用了join方法后会()
A.释放对象锁B.暂停执行,直到该线程执行完毕C.进入就绪状态D.进入运行状态
10.以下哪个不是线程池的优点()
A.提高线程创建和销毁的效率B.方便管理线程C.减少系统开销D.一定会提高程序执行速度
多项选择题(每题2分,共10题)
1.以下哪些是创建线程的方式()
A.继承Thread类B.实现Runnable接口C.实现Callable接口D.使用线程池
2.线程的生命周期包含哪些状态()
A.新建B.就绪C.运行D.阻塞E.死亡
3.以下哪些方法可以控制线程的执行()
A.start()B.sleep()C.yield()D.join()E.interrupt()
4.线程同步的机制有()
A.synchronized关键字B.Lock接口C.信号量D.读写锁
5.以下关于线程安全的说法正确的有()
A.多个线程访问共享资源可能导致线程安全问题B.StringBuffer是线程安全的C.ArrayList是线程安全的D.Vector是线程安全的
6.以下哪些类可以用于多线程编程()
A.ThreadB.RunnableC.CallableD.FutureE.ExecutorService
7.线程池的创建方式有()
A.newFixedThreadPoolB.newCachedThreadPoolC.newSingleThreadExecutorD.newScheduledThreadPool
8.以下哪些方法是Object类中用于线程间通信的()
A.wait()B.notify()C.notifyAll()D.sleep()
9.以下哪些情况会导致线程进入阻塞状态()
A.调用sleep()方法B.等待对象锁C.调用join()方法D.进行I/O操作
10.关于多线程并发访问共享资源,以下说法正确的是()
A.可以使用同步机制保证数据的一致性B.不加控制可能出现数据竞争问题C.所有共享资源访问都要同步D.同步代码块范围应尽量小
判断题(每题2分,共10题)
1.一个进程可以包含多个线程。()
2.继承Thread类和实现Runnable接口创建线程效果完全一样。()
3.线程调用start()方法后立即进入运行状态。()
4.synchronized关键字只能修饰方法不能修饰代码块。()
5.线程池中的线程一旦创建就不会销毁。()
6.调用线程的interrupt()方法一定会中断线程。()
7.多个线程访问同一个对象的同步方法时,不会发生线程安全问题。()
8.静态方法不能用synchronized关键字修饰。()
9.wait()方法和sleep(