怎么使用synchronized保证操作原子性