摘要: 在Java中通常实现锁有两种方式,一种是synchronized关键字,另一种是Lock(Lock的实现主要有ReentrantLock、ReadLock和WriteLock)。synchronized是基于JVM层面实现的,而Lock是基于JDK层面实现的。synchronized是基于Monit 阅读全文
posted @ 2019-03-28 23:56 kosamino 阅读(381) 评论(0) 推荐(0) 编辑
摘要: synchronized关键字 锁对象。synchronized(this)和synchronized方法都是锁当前对象。 同步方法 - static:静态同步方法,锁的是当前类型的类对象。在代码中就是类名.class 同步方法 - 原子性 加锁的目的: 就是为了保证操作的原子性。 同步方法 - 同 阅读全文
posted @ 2019-03-28 23:37 kosamino 阅读(338) 评论(0) 推荐(0) 编辑
摘要: synchronized同步代码块 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子: 下面例子是优化后的例子使用代码块锁,原先 阅读全文
posted @ 2019-03-28 01:59 kosamino 阅读(4041) 评论(0) 推荐(0) 编辑