1、互斥性,这个是锁的最基本要求 2、可重入性,同一个线程可以重复多次获得锁 3、支持阻塞、非阻塞两种特性 4、支持锁超时,为了防止线程意外退出,没有正常释放锁,导致其他线程无法正常获取到锁。加锁时间超过一定时间,会自动释放锁