![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发编程
文章平均质量分 88
天坑转码徐小虾
公众号:天坑转码小助手
展开
-
面试题 | 请谈谈对死锁的理解?
公众号:天坑转码小助手 读完本文后,面试可以回答如下问题: 死锁的概念以及产生原因 面试手撕代码:手写一个死锁 死锁问题的排查方式(面试举例说) 如何解决死锁 什么是死锁 使用细粒度锁(对象锁)往往可以提高并行度,优化效率。但是细粒度锁使用不当会导致一些问题,可能就会导致死锁。 死锁是一种特定的程序状态,在实体之间,由于循环依赖导致彼此一直处于等待之中,没有任何个体可以继续前进。死锁不仅仅是在线程之间会发生,存在资源独占的进程之间同样也可能出现死锁。 通常来说,我们大多是聚焦在多线程场景中的死锁,指两个原创 2021-05-12 14:05:51 · 198 阅读 · 0 评论 -
CompletableFuture:利用JUC包进行异步编程
多线程的优化 串行和并行 实际上多线程就是将各个串行操作,变成并行操作,最大化利用等待的时间。因此多线程实现时,我们主要要实现的业务逻辑就是分工和协作 多线程实现也一般伴随异步化。那么什么是同步和异步呢?异步中,单线程和多线程又有什么区别呢 同步和异步 假设有两个任务A 和 B 同步:执行A时,只能等待A结束,取得结果,再执行B,即使执行A时资源有空闲,也只能先执行A。 异步: 单线程: 先执行A, 过一段时间 t1,不管A是否执行完,也得停下A任务,开始处理B了。 多线程:两个线程,一个执行A, 一个执原创 2020-06-01 22:35:23 · 253 阅读 · 0 评论