使用synchronized实现一个Lock代码详解