天天看点

辨别公平锁、非公平锁、乐观锁、悲观锁公平锁非公平锁乐观锁悲观锁

公平锁

先到先得,优先处理先到的进程

非公平锁

所有进程到达时都会尝试直接获取锁,如果失败则会进入等待序列

乐观锁

每次去拿数据的时候都认为别人不会修改,所以不会上锁(适用多读少写的场景),实现:通过记录不同时间点的版本数据,并在更新的时候检测数据是否冲突。

悲观锁

每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁(适用多写少读的场景),实现:采用sychronized关键字等独占锁机制,同时每次仅允许一个进程访问。