1. 首先保证在分布式的环境中,同一个方法只能被同一个服务器上的一个线程执行。
2. 锁要可重入,严重一点的场景不能获取锁之后如果需要再次获取时发现不能获取了,造成死锁。
3. 锁要可阻塞。这一般只要保证有个超时时间就行。
4. 高可用的加锁和释放锁功能。
5. 加锁和释放锁的性能要好。