乐观锁、悲观锁,sychronoized是什么锁?

乐观锁:乐观锁认为并不会产生并发问题。认为在读取数据之后,该数据并不会被其他线程修改,在进行真正更新的时候会去检查是有其他线程修改了这个数据,一般可以用版本号或cas操作来控制

 

悲观锁:悲观锁认为每次读取数据都是会有其他线程会对当前数据进行修改,所以在读取数据的时候会进行加锁处理,当有其他线程来修改数据时,都会阻塞。sychronzied的实现就是这种思想。

 

sychronized 就是悲观锁,不管是否存在数据并发的问题,都会在sychronized开始的地方就加上锁,在结束的时候释放锁。

posted @ 2021-11-15 19:58  whltw  阅读(135)  评论(0)    收藏  举报