java synchronized 特性， 但是可以更高效一点