多线程同步的几种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程同步的几种方法相关的知识,希望对你有一定的参考价值。
1. 加mutex。由于现在的锁都是基于futex,无竞争时并不会切换上下文,效率还不错,最靠谱的方式。
2.用原子操作。原子操作在硬件上类似锁总线避免多核视图不一致,软件方面C++标准库中有各种memory_order,memory_order选的合适比mutex快。
3.延迟删除。保证真正删除数据时已经没有新的对数据的引用(因此唯一对被删除数据的引用就是正在执行删除的线程中的引用),避免了竞争。
以上是关于多线程同步的几种方法的主要内容,如果未能解决你的问题,请参考以下文章