选择锁时的考量 当只有少量竞争者的时候,synchronized是一个很好的通用的锁实现,而且synchronized不会引发死锁,JVM会自动解锁;竞争者不少,但线程的增长是可以预估的,ReentrantLock是一个很好的通用的锁实现;注意:选择锁的时候并不是最高级的才是最好的,适合自己使用场景的才是最好的;