热门
最新
红包
立Flag
投票
同城
我的
发布
安晟_
5 年前
truem0_54110754
写状态机源代码报错了这三个地方,有大佬能帮看看错在哪里,怎么修改吗?
你问我答
下一条:
乐观锁VS悲观锁悲观锁:当要对数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这种借助数据库锁机制,在修改数据之前先锁定,再修改的方式被称之为悲观并发控制【Pessimistic Concurrency Control,缩写“PCC”,又名“悲观锁”】。当其他线程想要访问数据时,都需要阻塞挂起。Java 里面的同步 synchronized 关键字的实现。乐观锁:总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制:一般是在数据表中加上一个数据版本号 version 字段,表示数据被修改的次数。当数据被修改时,version 值会+1。当线程A要更新数据值时,在读取数据的同时也会读取 version 值,在提交更新时,若刚才读取到的 version 值与当前数据库中的 version 值相等时才更新,否则重试更新操作,直到更新成功乐观锁比较适用于读多写少的情况(多读场景)悲观锁比较适用于写多读少的情况(多写场景)。
立即登录