八股文之多线程
文章平均质量分 71
面试题
624回锅肉
这个作者很懒,什么都没留下…
展开
-
1.多线程基础
123原创 2021-03-10 17:28:24 · 146 阅读 · 0 评论 -
2.synchronized关键字
Q:说说synchronized关键字 A: 用来线程同步 用在方法和代码块上 再解释一下线程同步 Q:怎么使用synchronized关键字的,项目中怎么使用的 A: 加在 static方法和非static方法 加在默认代码块和指定锁的代码块 的区别 ...原创 2021-02-27 20:30:42 · 118 阅读 · 0 评论 -
3.CAS操作(轻量级锁)
CAS操作相关原创 2021-03-04 18:57:45 · 678 阅读 · 0 评论 -
4.volatile关键字
Q:说说java内存模型,内存模型的变化带来了什么问题,怎么解决这个问题? A: 在jdk1.2前线程如果想修改主内存中变量的值是可以直接修改的。 但是现在jdk的内存模型是: 如果线程想修改主内存中变量的值,需要先把它读到线程自己的工作内存中,然后在工作内存中进行变量的修改,然后把修改后的变量再写回主内存中。 内存模型的变化带了数据的不一致性问题。当主内存中的一个变量被一个线程修改后,另一个线程还以为这个变量是之前自己工作内存中的变量,这样就出现了数据的不一致性问题。 可以在变量前加上volatil...原创 2021-02-28 18:03:12 · 88 阅读 · 0 评论 -
5.ThreadLocal类
1.什么是ThreadLocal?用来干什么? 2.说说ThreadLocal是怎么实现的? 3.说说ThreadLocal会带来什么问题?该怎么解决? 1.Q:什么是ThreadLocal?用来干什么? A:ThreadLocal可以让每个线程绑定它自己的值,就像一个私有盒子,每个线程可以绑定它自己私有的数据。 2.Q:说说ThreadLocal是怎么实现的? A:用的是ThreadLocal的静态内部类ThreadLocalMap实现的,它是定制的HashMap。 threadlocals是Threa原创 2021-03-10 15:09:33 · 98 阅读 · 0 评论 -
6.线程池
Q:为什么要用线程池?线程池有哪些好处? A: 1.不用来回频繁地创建和销毁线程。降低资源消耗。 2.任务到达的时候就可以直接开始执行,而不用等待线程创建的过程。提高响应速度。 3.为线程进行统一地进行分配,调优和监控。更好地管理线程。 Q:让线程池执行任务需要实现哪些接口?它们有什么区别?最好用什么方式来创建线程池? A: 让线程池执行任务需要实现Runnable接口或Callable接口,它们的区别在于实现Runnable接口不能返回结果,返回值为void。而实现Callable接口可以返回...原创 2021-02-28 20:45:38 · 118 阅读 · 0 评论 -
7.Atomic原子类
1.说说什么是Atomic原子类?什么是原子性?Atomic原子类有什么作用? 2.atomic包(JUC包)下分为哪几类? 3.说说AtomicInteger怎么使用? 4.说说AtomicInteger是什么实现的?原理? 5.为什么使用Atomic原子类? Q:说说什么是Atomic原子类?什么是原子性?Atomic原子类有什么作用? A: Atomic原子类是在java.concurrent.atomic包(简称JUC包)下。它是提供变量原子操作的类。 操作的原子性,也叫原子操作。指的是在多原创 2021-03-02 20:23:02 · 243 阅读 · 0 评论 -
8.AQS同步器
1.AQS同步器是什么?用来做什么? 2.AQS同步器是怎么实现的? 3.AQS同步器访问资源有哪些方式?用AQS同步器实现自定义的同步器应该怎么做?AQS同步器组件有哪些? 1.Q:AQS同步器是什么?用来做什么? A: AQS同步器是AbstractQueuedSynchronizer,抽象队列同步器。它在java.util.concurrent.locks包下。 它是用来针对具体需求自定义同步器的框架。**ReentrantLock,Semaphore(信号量),CyclicBarrier(循环屏障原创 2021-03-05 20:30:49 · 164 阅读 · 1 评论