首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
wdddd
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
谈线程池
一个ExecutorService ,它使用可能是多个池线程中的一个来执行每个提交的任务,通常使用Executors工厂方法对其进行配置。 线程池解决了两个不同的问题:由于减少了每个任务的调用开销,它们通常在执行大量异步任务时提供改进的性能,并且它们提供了一种绑定和管理资源(包…
浅谈偏向锁、轻量级锁、重量级锁
为了换取性能,JVM在内置锁上做了非常多的优化,膨胀式的锁分配策略就是其一。理解偏向锁、轻量级锁、重量级锁的要解决的基本问题,几种锁的分配和膨胀过程,有助于编写并优化基于锁的并发程序。 内置锁是JVM提供的最便捷的线程同步工具,在代码块或方法声明上添加synchronized关…
sleep()和wait()方法与对象锁、锁池、等待池
锁池:假设线程A已经拥有了某个对象的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该对象的锁的拥有权,但是该对象的锁目前正被线程A拥有,所以这些线程就进入了…
面试官:为什么wait()方法要放在同步块中?
这个东西是我今天看多线程通信的时候无意中想到的,为什么像wait()、notify()、notifyAll()之类的线程间通信需要放在同步块中,换言之为什么要用synchronized。如果wait()方法不在同步块中,会怎么样嘞: 经过一番谷歌,参照了各路大神的博客,终于找到…
Java Atomic总结
所谓Atomic,翻译过来就是原子。原子被认为是操作中最小的单位,一段代码如果是原子的,则表示这段代码在执行过程中,要么执行成功,要么执行失败。原子操作一般都是底层通过CPU的指令来实现。而atomi
源码|并发一枝花之ReentrantLock与AQS(3):Condition
本文是《源码|并发一枝花之ReentrantLock与AQS》系列的最后一篇,分析与显式锁ReentrantLock配套的显式条件队列AQS#ConditionObject,以完善对AQS的使用和理解。 Lock接口对标内置锁,而Condition接口对标内置条件队列。Cond…
ReentrantLock详解
ReentrantLock详解Locklock()过程公平锁非公平锁unlock()过程lockInterruptibly()过程tryLock()tryLock(longtimeout,TimeUn
五、聊聊并发- 聊聊AQS独占锁
AQS全称是(Abstract Queued Synchronizer),单从名字可以翻译为抽象队列同步器,它是构建J.U.C(java.util.concurrent)包下并发工具类的基础框架,AQS除了提供了可中断锁(等待中断),超时锁、独占锁、共享锁等等功能之外,又在这些…
浅析 ReentrantLock
重入锁 ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。代码示例如下: 线程的再次获取锁。锁需要去识别获取锁的线程是否为当前占据锁的线程,如果是,则再次成功获取 锁的最终释放。线程重复n次 获取了锁,随后在第 n 次释放该 …
什么是ThreadLocal?
这篇文章是慕课网上一门免费课程《ThreadLocal》的观后总结。这门课将ThreadLocal讲得非常清晰易懂,又深入底层原理和设计思想,是我看过的最好的ThreadLocal的资料,现在把用自己的话,把它整理成文字版本。 总共预计产出四篇文章,这是第一篇。 多线程充分利用…