synchronized和ReentrantLock的使用