0 引言
本文主要是根据C++ Concurrency in Action (豆瓣)第6章的基于锁的数据结构来讲解相应的队列实现。
本文会给出两种队列
- 基于STL的queue的线程安全队列
- 基于链表的线程安全队列
1 预备知识
如何实现一个线程安全的队列?需要遵循什么样的准则?
可参考:
C++多线程--发现接口间固有竞争_qls315的博客-CSDN博客
C++11多线程--线程间共享数据(存在的问题)_qls315的博客-CSDN博客
C++11多线程--使用锁(mutex)保护数据(1)-CSDN博客文章来源:https://www.toymoban.com/news/detail-759125.html
总结起来如下:文章来源地址https://www.toymoban.com/news/detail-759125.html
- 确保对象的不变量保持不被破坏
- 确保程序不会出现死锁
- 保证临界区尽量小,并发度尽量高
到了这里,关于C++多线程--线程安全的队列实现(基于锁)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!