公平锁
先到先得,优先处理先到的进程
非公平锁
所有进程到达时都会尝试直接获取锁,如果失败则会进入等待序列
乐观锁
每次去拿数据的时候都认为别人不会修改,所以不会上锁(适用多读少写的场景),实现:通过记录不同时间点的版本数据,并在更新的时候检测数据是否冲突。
悲观锁
每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁(适用多写少读的场景),实现:采用sychronized关键字等独占锁机制,同时每次仅允许一个进程访问。
先到先得,优先处理先到的进程
所有进程到达时都会尝试直接获取锁,如果失败则会进入等待序列
每次去拿数据的时候都认为别人不会修改,所以不会上锁(适用多读少写的场景),实现:通过记录不同时间点的版本数据,并在更新的时候检测数据是否冲突。
每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁(适用多写少读的场景),实现:采用sychronized关键字等独占锁机制,同时每次仅允许一个进程访问。