首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
smileeleven
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
图解Java线程池原理
为了避免频繁重复的创建和销毁线程,我们可以让这些线程进行复用,在线程池中,总会有活跃的线程在占用,但是线程池中也会存在没有占用的线程,这些线程处于空闲状态,当有任务的时候会从池子里面拿去一个线程来进行使用,当完成工作后,并没有销毁线程,而是将线程放回到池子中去。 上面内容出自《…
【并发编程】JUC组件扩展(Callable、FutureTask、Fork/Join 框架、BlockingQueue)
之前我们已经学习了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果要获得返回值就必须通过共享变量或者线程间通信的方式,实现起来较复杂。 因此在Java5开始提供了Call…
求你了,再问你Java内存模型的时候别再给我讲堆栈方法区了…
Java内存模型由几部分组成,堆、本地方法栈、虚拟机栈、方法区... 每一次我不想打断他们的话,虽然我知道这又是一个误会了我的问题的朋友。 其实,我想问的Java内存模型,是和并发编程有关的。而候选人给我回答的那叫JVM内存结构,完全是两回事。 很多时候,在我没有打断他们的情况…
我使出这“三板斧”(分段锁、哈希锁、弱引用锁)灭霸跑了......
有同学说,学了Java那么多锁,还是没能锁住灭霸,本文教你“三板斧”,锁灭霸足矣。 最近,在工作上碰见了一些高并发的场景需要加锁来保证业务逻辑的正确性,并且要求加锁后性能不能受到太大的影响。初步的想法是通过数据的时间戳、id等关键字来加锁,从而保证不同类型数据处理的并发性。而J…
Executor线程池只看这一篇就够了
线程实现方式Thread、Runnable、Callable注意:启动Thread线程只能用start(JNI方法)来启动,start方法通知虚拟机,虚拟机通过调用器映射到底层操作系统,通过操作系统来
Lock锁源码分析
java SE 5之前,是使用 synchronized 来进行控制多线程访问共享资源的,使用 synchronized 修改方法或代码块之后,会隐式的获取到锁,之后方法退出时在隐式的释放锁,而java SE 5之后,并发包中新增了Lock接口用来实现锁功能,具体参考原文
面试必备:Java AQS 实现原理(图文)分析[精品长文]
AQS的实现是基于一个FIFO的等待队列。 使用单个原子变量来表示获取、释放锁状态(final int)改变该int值使用的是CAS。(思考:为什么一个int值可以保证内存可见性?) 子类应该定义一个非公开的内部类继承AQS,并实现其中方法。 AQS支持exclusive与sh…
迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的最清楚的好文章(建议收藏)
假设有一个展示用户详情的需求,分两步,先调用一个HTTP接口拿到详情数据,然后使用适合的视图展示详情数据。 如果网速很慢,代码发起一个HTTP请求后,就卡住不动了,直到十几秒后才拿到HTTP响应,然后继续往下执行。 这个时候你问别人,刚刚代码发起的这个请求是不是一个同步请求,对…