欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

多线程面试题

程序员文章站 2022-07-12 18:21:24
...

1 CPU核心数、线程数的关系
2 在CPU时间片轮转机制中设置多少毫秒是合理的?
3 什么是进程?什么是线程?一个进程最多可以创建多少个线程?
4 用户单一进程同时可打开文件数量是多少?
5 什么是并行,什么是并发?(并发交替替执行,并行是同时执行)
6 什么是同步,什么是异步,什么是堵塞,什么是非堵塞?
7 实现线程的三种方式?
8 线程的生命周期是什么?线程池的初始化的时候,池里面的线程处于生命周期的那个阶段?
9 什么是线程组?其左右是什么?
10 ThreadLocal是用来解决共享资源的多线程访问的问题吗?

11 每次使用完ThreadLocal,都调用它的remove()方法,为什么呢?
12 volatile的作用?
13 run方法是否可以抛出异常?如果抛出异常,线程的状态如何?
14 什么是隐式锁?什么是显式锁?什么是无锁?
15 多线程之间是如何通信的?
16 Java的内存模型是什么?
17 什么是原子操作?生成对象的过程是不是原子操作?
18 CopyOnWrite机制是什么?
19 什么是CAS?
20 什么是AQS?

21 Fail-Fast机制是多线程原因造成的吗?
22 为什么要用线程池?常见的线程池有哪些?
23 阻塞队列的常用方法?
24 为什么数组比链表随机访问速度会快很多呢?
25 什么时候用定时器,什么时候用延时队列?
26 堵塞队列的add,offer,put的区别?
27 线程的阻塞与挂起有什么区别?
28 sleep的时候,是否会释放已经获得到锁?
29 yield的作用是什么?
30 join的作用?

31 sleep方法和yield方法的区别?
32 什么时候会发生InterruptedException异常?
33 如何设计一个利用无锁来实现线程的安全?
34 隐式锁什么情况下会释放锁?
35 描述一下可重入的实现机制?
36 什么是内存可见性?什么是寄存器可见性?
37 什么是自旋?举例说明一下。自旋的后果是什么呢?
38 notifyAll之后所有的线程都会在次抢夺锁,如果抢夺失败怎么办?
39 什么是内存栅栏?
40 什么是before-happen?

41 常见的限流算法有哪些?
42 synchronized锁的范围有哪些?
43 为什么使用线程池技术?
44 常见的创建线程池的三种方式是什么?各有什么特点?
45 可缓存的线程池中多少秒未使用的线程将被移除?
46 线程池内部的核心队列什么?
47 线程池中控制线程创建数目的参数是什么?
48 线程池在什么情况下需要丢弃处理?
49 线程池任务拒绝策略有哪些?
50 创建线程池常用的堵塞队列有哪些?

51 Future的主要功能是什么?
52 FutureTask的结构关系?FutureTask如何使用呢?

如果有更好的题目,欢迎加群,让我们共建一个高质量的学习资料。

 

相关标签: 多线程