锁的功能是保证原子性和可见性。原子性是通过总线锁或缓存锁实现。可见性是通过禁止特定类型的重排序实现~