CUtilityCode

时间:2022-12-23 11:03:48

(1) 基于boost的生产者/消费者队列

template<typenameData>
classconcurrent_queue { private: std::queue<Data> the_queue; mutableboost::mutex the_mutex; boost::condition_variable the_condition_variable; public: void push(Data const& data) { boost::mutex::scoped_lock lock(the_mutex); the_queue.push(data); lock.unlock(); the_condition_variable.notify_one(); } bool empty() const { boost::mutex::scoped_lock lock(the_mutex); returnthe_queue.empty(); } bool try_pop(Data& popped_value) { boost::mutex::scoped_lock lock(the_mutex); if(the_queue.empty()) { returnfalse; } popped_value=the_queue.front(); the_queue.pop(); returntrue; } void wait_and_pop(Data& popped_value)
{ boost::mutex::scoped_lock lock(the_mutex); while(the_queue.empty()) { the_condition_variable.wait(lock); } popped_value=the_queue.front(); the_queue.pop(); } };

  

CUtilityCode的更多相关文章

    随机推荐

    1. 设计模式&lpar;九&rpar;&colon; 从醋溜土豆丝和清炒苦瓜中来学习&quot&semi;模板方法模式&quot&semi;&lpar;Template Method Pattern&rpar;

      今天是五.四青年节,祝大家节日快乐.看着今天这标题就有食欲,夏天到了,醋溜土豆丝和清炒苦瓜适合夏天吃,好吃不上火.这两道菜大部分人都应该吃过,特别是醋溜土豆丝,作为“鲁菜”的代表作之一更是为大众所熟知 ...

    2. 【python】入门学习(四)

      函数: 定义函数 #area.py from math import pi def area(radius): """Return the area of a circl ...

    3. 用msbuild跑xunit单元测试

      用了Visual Studio 2015之后,发现没法跑xUnit单元测试,xUnit.net runner不支持VS2015,TestDriven.Net也不支持VS2015. 等它们支持VS201 ...

    4. &lbrack;ZZ&rsqb; GTX760首测

      再一次让AMD难做!NVIDIA新主力GTX760首测 1又见短板高端显卡,GTX760外观对比回顶部 [PConline评测]NVIDIA迅速的步伐真让人吃惊,短时间内拿出GTX780.GTX770 ...

    5. ios-chart 不支持渐变的底色 --- 后面支持了渐变

      https://github.com/danielgindi/ios-charts/issues/186 后话,最近库更新了,可以支持渐变色

    6. 基于 Paramiko 的 SSH 通讯类

      # -*- coding: UTF-8 -*-import paramikoimport time################################################### ...

    7. jQuery常用特效插件汇总

      jquery的CDN引用及下载地址 http://www.bootcdn.cn/jquery/   1:semantictabs.js可以简单地制作Tabs菜单2:tabBox.js可以非常简单方便地 ...

    8. IMAP与POP3的区别

      POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件.标记已读等),不会反馈到服务器上.比如通过客户端收取了邮箱中的2封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有 ...

    9. HC-05蓝牙模块配对步骤

      参考:https://blog.csdn.net/m0_37182543/article/details/76383247

    10. Java之修改文件内容:字符串逐行替换

      依赖包: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...

    相关文章