![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java并发编程
文章平均质量分 93
Java并发编程技术及相关面试题总结
咸鱼也有爱
真理无穷,每进一步,都有欢喜,Java后端,移动端开发,分享日常学习&工作所得
展开
-
面试总结之并发编程
每个线程都有一个成员变量ThreadLocalMap,当线程访问ThreadLocal修饰的共享数据时,该线程就会在自己的ThreadLocalMap中存储一份共享数据的副本,key指向ThreadLocal这个弱引用,value保存的是共享数据的副本,因为每个线程都有一份共享数据的副本,以此就解决了线程安全问题。在Thread的init()方法中,如果父线程的 inheritableThreadLocals 不为空,就把它赋给当前线程(子线程)的 inheritableThreadLocals。原创 2023-10-16 19:47:58 · 271 阅读 · 0 评论 -
Java并发编程之CompletableFuture详解
在项目中经常会使用到CompletableFuture ,很多开源框架中也大量使用到了 CompletableFuture 。因此,专门写一篇文章来介绍这个 Java 8 才被引入的一个非常有用的用于异步编程的类。CompletableFuture 同时实现了 Future 和 CompletionStage 接口。原创 2022-09-22 20:40:31 · 3220 阅读 · 0 评论 -
线程池知识点及面试总结
1.为什么需要线程池?在实际使用中,线程是很占用系统资源的,对线程管理不善,容易导致系统问题。因此,在很多并发框架中,都会使用线程池来管理线程,其好处如下:(1)使用线程池可以重复利用已有的线程继续执行任务,避免线程在创建和销毁时造成额外的消耗,从而可以提高系统响应速度。(2)通过线程池,可以对线程进行合理的管理,根据系统的承受能力调整可以运行的线程数量。2.线程池的分类:ThreadPoolExecutor(1)newCachedThreadPool :创建一个可根据业务需要,来创建新线程原创 2021-03-29 16:43:59 · 259 阅读 · 6 评论 -
详解LockSupport原理、使用场景及面试题
LockSupport是一个线程阻塞工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞,阻塞之后也有对应的唤醒方法。原创 2022-07-21 11:37:47 · 1291 阅读 · 0 评论