并行编程-lock-free & wait-free
文章目录
先占个坑
1 定义
2 lock-free 与 lockless
3 lock-free 的数据结构
4 实现原理
5 思考与启发
5.1 可借鉴的思想
- 足够小的临界区:这意味着哪怕直接使用 mutex,只要保持临界区够小,一样可以达到相同效果
- 减少上下文切换:使得逻辑尽量可以原地执行
5.2 不适合的场景
- 并发量较大时,自旋失败的可能性会大幅增加,cpu 浪费会比较严重。如果此时系统还有别的任务待完成,这些任务的响应时间可能会增加