1.重入锁(递归锁):
意义:防止死锁
概念:一条线程获得到锁,此时这个锁没有释放,再次想要获得锁的时候,直接获取成功
例如:内部锁:自己可以获得自己的内部锁
2.公平锁:
Lock lock = new ReentrantLock(true);
例如:去医院看病,会按顺序叫号,先到先进原则
3.非公平锁:
Lock lock = new ReentrantLock();
例如:上来就直接占锁,默认是不公平锁
优点:吞吐量大
4.独占锁:
例如:去医院看病,医生只给你看病,其他人等着,安全性高
5.共享锁:
例如:去医院看病,一个医生同时给多个病人看,效率高