Java Thread系列synchronized

Posted binarylei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Thread系列synchronized相关的知识,希望对你有一定的参考价值。

Java Thread系列(五)synchronized

synchronized锁重入

关键字 synchronized 拥有锁重入的功能,也就是在使用 synchronized 时,当线程等到一个对象的锁后,再次请求此对象时可以再次得到该对象的锁。出现异常时释放锁。

synchronized异常

synchronized代码块

使用 synchronized 声明的方法在某些情况下是有弊端的,比如A线程调用同步的方法执行一个很长时间的任务,那么B线程就必须等待比较长的时间才能执行,这样的情况下可以使用 synchronized 代码块去优化代码执行时间,也就是通常所说的减小锁的粒度。

synchronized代码块案例 【com.herolei._1_2sync.ObjectLock】

synchronized对常量加锁的问题 【com.herolei._1_2sync.StringLock】

注意:锁对象发生改变问题,当使用一个对象进行加锁的操作,要注意对象本身发生改变的时候,那么持有的锁就不同。


每天用心记录一点点。内容也许不重要,但习惯很重要!

以上是关于Java Thread系列synchronized的主要内容,如果未能解决你的问题,请参考以下文章

java多线程中synchronize锁的使用和学习,Thread多线程学习

java 多线程实现四种方式解析Thread,Runnable,Callable,ServiceExcutor,Synchronized ,ReentrantLock

Java多线程系列五——列表类

JAVA多线程 & 同步关键词synchronized & ReadWriteLock读写文件

死磕 java同步系列之synchronized解析

Java锁synchronized关键字学习系列之偏向锁升级