c++11多线程编程---线程安全队列

本文介绍了如何使用C++11标准库创建线程安全队列,通过结合thread、mutex、condition_variable等工具,确保在多线程环境下进行front()和pop()操作时不会出现错误。测试结果显示该线程安全队列有效。
摘要由CSDN通过智能技术生成

线程安全队列

c11正式引入了自己的线程类,让c++的多线程编程变的更加优雅。由于不同的编译器对新特性的支持有所差异,这里的代码都是在gcc 4.8版本下编译运行。

涉及到的C++11的知识如下:

  1. thread 线程库
  2. 同步和互斥有关量mutexcondition_variable
  3. 简单的资源管理类:lock_guard,unique_lock,shared_ptr.
  4. lambda表达式

底层容器为queue,这里将取元素front() 和弹出pop()操作合并为一个接口,为了防止以下事件:在取元素和弹出元素之间这段时间又有其他线程进行front()或者pop(),出现 错误。
#include <iostream>
#include <thread>
#include <condition_variable>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值