1、同步与实务
当同步锁放置在事务的内部的时候, 就是说在同步的这段时间,对数据没有任何操作,在数据提交的时候还是并发操作,这个时候的同步锁对于修改操作就显得没什么作用。
当同步锁放置在事务的外部的时候,就是说在提交数据的时候需要同步。
当同步锁里面有判断逻辑,其判断内容依赖于数据库,那么注意在读取数据的时候一定要放置到同步锁的内部,不然每个人有可能读到的数据都是脏数据。
2、同步锁,锁定的对象
在java中每个对象都包含一个对象锁,当我们需要一段代码进行同步的时候 ,我们可能这样synchronized ("lock"){ ../代码 } 相当于这里我们对 "lock" 这个字符串对象进行取锁,然后加锁
如果明白了这点,那我们只要这里锁定的是不是同一个对象,那我们就知道他们是同步的还是异步的。
秦水坡-杜撰