
多线程
优快云最菜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jdk1.6之后对synchronized的底层优化
jdk1.6之后对锁的实现引入了大量的优化,如偏向锁、轻量级锁、自旋锁、自适应自旋锁、锁清除,锁粗化。 偏向锁。偏向锁会“偏向”第一个获取到它的线程。在接下来的执行中,如果该锁没有被其他线程获取,则该拥有该锁的线程会直接不进行同步操作。但对于资源竞争比较激烈的场景,偏向锁就会失效,偏向锁失效后会升级为轻量级锁。 轻量级锁。 轻量级锁的本意是,在没有多线程竞争的情况下,减少传统的重量级锁使用操作系统互斥量产生的性能消耗,轻量级锁不足要申请互斥量,同步操作使用的是CAS。但是,在多线程竞争激烈的情况下,轻量级原创 2020-05-09 10:01:41 · 404 阅读 · 0 评论 -
ThreadPoolExecutor 饱和策略
对于ThreadPoolExecutor 饱和策略的解释可以参考以下文章:https://blog.youkuaiyun.com/w605283073/article/details/89930154原创 2020-05-08 21:54:26 · 417 阅读 · 0 评论 -
ConcurrentHashMap和HashTable的区别
底层数据结构上的不同:jdk1.7之前ConcurrentHashMap采用的是分段数组+链表的数据结构,jdk1.8采用的数据结构跟jdk1.8的HashMap数据结构一样,都是数组+链表/红黑二叉树的。HashTable和jdk1.8之前的HashMap的数据结构一样,都是数组+链表的数据结构。 实现线程安全方式的不同:jdk1.8之前ConcurrentHashMap采用分段锁的形式实现线...原创 2020-05-08 12:38:24 · 512 阅读 · 0 评论 -
AQS
AQS其实就是一个并发包的基础组件,用来实现各种锁,各种同步组件的,他包含state变量,加锁线程,等待队列等并发中的核心组件。原创 2020-05-07 22:39:30 · 108 阅读 · 0 评论