首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
Que
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 1订阅
面试 LockSupport.park()会释放锁资源吗?
(手机横屏看源码更方便)引子大家知道,我最近在招人,今天遇到个同学,他的源码看过一些,然后我就开始了AQS连环问。我:说说AQS的大致流程?他:AQS包含一个状态变量,一个同步队列……balabala
Java 多线程中的「lost wake up 问题」
答:为了避免「lost wake up 问题」,即「无法唤醒问题」。 我对「lost wake up 问题」的通俗理解:线程 A 调用 wait() 方法进入阻塞状态,接下来没有其他线程去唤醒线程 A,或者其他线程唤醒时机不对(早于线程 A 的 wait() ),导致线程 A …
面试官:为什么wait()方法要放在同步块中?
这个东西是我今天看多线程通信的时候无意中想到的,为什么像wait()、notify()、notifyAll()之类的线程间通信需要放在同步块中,换言之为什么要用synchronized。如果wait()方法不在同步块中,会怎么样嘞: 经过一番谷歌,参照了各路大神的博客,终于找到…
彻底搞懂Future、Callable、FutureTask、Runnable
在这个知识泛滥、技术焦虑的时刻,人人嘴里喷着高并发、大数据、分布式,很多估计对这个一头雾水,无论在开发还是面试过程中,一知半解还不如不知。 通常情况下的耗时操作会交给多线程来处理,Java中开启一个新线程很容易,继承自Thread或实现Runnable接口。下面是常规操作。 开…
JAVA 线程状态中可能存在的一些误区
BLOCKED 和 WAITING 两种状态从结果上来看,都是线程暂停,不会占用 CPU 资源,不过还是有一些区别的
CPU有缓存一致性协议(MESI),为何还需要volatile
前面我们从操作系统底层了解了现代计算机结构模型中的CPU指令结构、CPU缓存结构、CPU运行调度以及操作系统内存管理,并且学习了Java内存模型(JMM)和 volatile 关键字的一些特性。本篇来深入理解CPU缓存一致性协议(MESI),最后来讨论既然CPU有缓存一致性协议…
彻底理解synchronized
通过字节码分析以及源码解析深入理解synchronized的使用场景以及背后的实现原理,避免在生产环境出现并发问题,
面试官没想到一个Volatile,我都能跟他扯半小时
Volatile可能是面试里面必问的一个话题吧,对他的认知很多朋友也仅限于会用阶段,今天我们换个角度去看看。 为会出现这个情况呢?那我们就需要聊一下另外一个东西了。 JMM:Java内存模型,是java虚拟机规范中所定义的一种内存模型,Java内存模型是标准化的,屏蔽掉了底层不…
各大框架都在使用的Unsafe类,到底有多神奇?
前言 几乎每个使用 Java开发的工具、软件基础设施、高性能开发库都在底层使用了sun.misc.Unsafe,比如Netty、Cassandra、Hadoop、Kafka等。 Unsafe类在提升J
面试官:小伙子,听说你看过ThreadLocal源码?(万字图文深度解析ThreadLocal)
前几天写了一篇AQS相关的文章:我画了35张图就是为了让你深入 AQS,反响不错,这次趁热打铁再写一篇ThreadLocal的文章,同样是深入原理,图文并茂。 全文共10000+字,31张图,这篇文章同样耗费了不少的时间和精力才创作完成,原创不易,感谢。 对于ThreadLoc…