观察了一下各个自媒体平台的审核机制,其中百家号是典型是悲观锁,而头条就是典型的乐观锁,至于网易,我还不知道。

悲观锁,先假设会有冲突,会有问题。百家号对你发布的内容,假设不符合发布要求,不符合原创要求,于是会有较长的审核期。但一旦审核通过,就真的通过了。简单说,就是把控住入口。后续审核对内容不会再审核了,原创我估计还会。

乐观锁,先假设不会有冲突,没有问题。头条对发布的内容,简单审核后就给予发布。在后续会继续很长时间的审核。如果内容有重复,会只推荐粉丝;内容违规会给予删错,违规原创会扣分。简单说就是“秋后算账”。

在开发中,如果提前判断大概率有并发冲突,且不可调和,那就悲观锁吧。把需要的资源全部拿到,确保一定能完成。缺点是效率较低,且设计不好容易死锁。

如果大概率判断没有并发冲突,或者设计上有了规避措施,建议乐观锁,性能高。缺点是偶尔会失败。

有时为了平衡,有时要混合用这两种锁。