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