10. 锁的作用

锁的作用

保障原子性

互斥,一个锁一次只能被一个线程持有,保证了临界区代码一次只能被一个线程执行,这使得临界区代码所执行的代码具有不可分割的特性,即保障了原子性

保障可见性

获取锁时刷新处理器缓存

释放锁时冲刷处理器缓存

保障有序性

注意:临界区内的内存操作依旧存在重排序

你可能感兴趣的:(10. 锁的作用)