基本信息
文件名称:java多线程并发面试题及答案.doc
文件大小:26.89 KB
总页数:7 页
更新时间:2025-03-15
总字数:约3.22千字
文档摘要

java多线程并发面试题及答案

单项选择题(每题2分,共10题)

1.启动一个线程调用的方法是()

A.runB.startC.beginD.execute

答案:B

2.线程在生命周期中要经历5种状态,新建状态、就绪状态、运行状态、阻塞状态和()

A.休眠状态B.死亡状态C.挂起状态D.终止状态

答案:B

3.以下哪个类是Java中线程的基类()

A.RunnableB.ThreadC.ExecutorD.Callable

答案:B

4.多线程中,用于实现线程同步的关键字是()

A.staticB.finalC.synchronizedD.volatile

答案:C

5.线程的优先级范围是()

A.1-5B.1-10C.0-9D.0-10

答案:B

6.使当前线程暂停执行一段时间的方法是()

A.waitB.sleepC.yieldD.notify

答案:B

7.当线程调用sleep方法进入阻塞状态,以下哪种情况会使它重新进入就绪状态()

A.另一个线程调用该线程的interrupt方法B.睡眠时间到

C.线程的run方法执行完毕D.以上都不对

答案:B

8.以下哪个接口可以用来创建有返回值的线程()

A.RunnableB.CallableC.ThreadD.Executor

答案:B

9.一个线程对象的具体操作是由run方法定义,该方法定义在()

A.Thread类B.Runnable接口C.自定义类D.以上都可以

答案:D

10.线程池核心线程数的参数是()

A.corePoolSizeB.maximumPoolSizeC.keepAliveTimeD.unit

答案:A

多项选择题(每题2分,共10题)

1.以下哪些方法属于Thread类()

A.start()B.run()C.sleep(longmillis)D.wait()

答案:ABC

2.多线程并发编程中,线程安全的类有()

A.StringBufferB.ArrayListC.HashMapD.Vector

答案:AD

3.线程同步的机制有()

A.互斥锁B.信号量C.读写锁D.自旋锁

答案:ABCD

4.以下哪些会导致线程阻塞()

A.调用wait方法B.调用sleep方法C.进行I/O操作D.获得对象锁

答案:ABC

5.线程的状态包括()

A.NEWB.RUNNABLEC.BLOCKEDD.TERMINATED

答案:ABCD

6.关于Runnable接口说法正确的是()

A.实现该接口的类可以作为线程任务B.实现该接口必须重写run方法

C.它是一个函数式接口D.可以通过Thread类来启动实现该接口的线程任务

答案:ABCD

7.以下哪些类在java.util.concurrent包中()

A.ExecutorServiceB.ConcurrentHashMapC.CountDownLatchD.ThreadLocal

答案:ABC

8.多线程中,以下哪些方法可以唤醒等待的线程()

A.notify()B.notifyAll()C.signal()D.signalAll()

答案:ABCD

9.关于线程池说法正确的是()

A.可以提高线程的创建和销毁效率B.可以控制并发线程数量

C.有不同的线程池实现类D.核心线程数和最大线程数不能相同

答案:ABC

10.以下哪些是线程安全的集合类()

A.CopyOnWriteArrayListB.Collections.synchronizedList(newArrayList())

C.ConcurrentLinkedQueueD.HashSet

答案:ABC

判断题(每题2分,共10题)

1.一个线程对象只能调用一次start方法启动线程。()

答案:对

2.调用线程的yield方法会使线程进入阻塞状态。()

答案:错

3.所有的Java对象都有wait和notify方法。()

答案:对

4.线程池中的线程执行完任务后会立即销毁。()

答案:错

5.同