自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 synchronized(5)-不同场景效果不同

【普通】创建线程的两种方式。

2024-07-02 20:24:35 155

原创 synchronized(4)-轻量级锁、自旋锁、重量级锁

【总结】多线程竞争锁对象时,首先会有一个线程抢到锁执行同步块,其他线程会自旋获取锁,如果自旋获取不到会进入ContentionList队列,当Owner线程unlock状态时,会将ContentionList尾部的一些线程放入EntryList,并且指定其中一个为OnDeck线程,该线程可以和正在竞争锁的线程一起竞争锁,OnDeck线程会一直等到竞争到锁,成为Owner线程。【轻量级锁总结】轻量级锁是jdk1.6引入的线程优化,当锁对象使用的是轻量级锁时,说明当前同步块。,不需要上升到操作系统级别的阻塞。

2024-07-01 20:20:34 661

原创 synchronsized(3)-偏向撤销导致的问题及对应解决方案

在真正理解偏向撤销前需要是两码事:【撤销】:多线程竞争导致不能再使用偏向模式的时候,主要是告知这个锁对象不能再使用偏向模式。【释放】:对应就是 synchronized 方法的推出或 synchroniezd 块的结束。从偏向状态撤回原有的状态,也就是将 markword 的第 3 位(是否偏向撤销)的值,从 1 变回 0 (1代表偏向,0代表非偏向)。1、如果只是⼀个线程获取锁,再加上“偏⼼”的机制,是没有理由撤销偏向的,所以偏向撤销只能发⽣在有竞争的情况下。

2024-06-30 20:39:19 673

原创 synchronized(2)-偏向锁

一、偏向锁简介Java偏向锁是Java6引⼊的⼀项多线程优化。顾名思义,它会偏向于第⼀个访问锁对象的线程,如果同步锁只有⼀个线程访问,则线程是不需要触发同步的,这种情况下,就会给该线程加⼀个偏向锁;如果在运⾏过程中,遇到了其他线程抢占锁,则持有偏向锁的线程会被挂起,JVM会消除它身上的偏向锁,将锁升级到轻量级锁,然后再唤醒原持有偏向锁的线程。二、偏向锁的场景通过上述简介可以看出,

2024-06-30 15:51:24 367

原创 synchronized(1)-学前知识储备

synchronized知识准备

2024-06-30 14:14:35 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除