synchronized代码简洁
Lock:获取锁可以被中断,超时获取锁,尝试获取锁
可重入锁ReentrantLock:递归调用
如果在时间上,先对锁进行获取的请求,一定先被满足,这个锁就是公平锁。否则是非公平的。
非公平的效率一般来讲更高。(高在唤醒锁的过程)
ReentrantLock和Synchronized都是排他锁,指同一时刻只有一个线程进行访问。
读写锁:同一时刻允许多个读线程同时访问,但是写线程访问的时候,所有的读和写都被阻塞。
ReadWriteLock
synchronized代码简洁
Lock:获取锁可以被中断,超时获取锁,尝试获取锁
可重入锁ReentrantLock:递归调用
如果在时间上,先对锁进行获取的请求,一定先被满足,这个锁就是公平锁。否则是非公平的。
非公平的效率一般来讲更高。(高在唤醒锁的过程)
ReentrantLock和Synchronized都是排他锁,指同一时刻只有一个线程进行访问。
读写锁:同一时刻允许多个读线程同时访问,但是写线程访问的时候,所有的读和写都被阻塞。
ReadWriteLock