boost学习之boost::lock_guardT与boost::unique_lockT的区别

(1)boost::lock_guard没有unlock()功能

boost::mutex mutex;

void foo( )

{

    boost::lock_guard<boost::mutex> lock(mutex);

    process(data);

   ///没有unlock()功能,程序结束自动析构

};

(2)unique_lock允许设置超时,推迟锁定lock以及在对象销毁之前unlock。

boost::mutex mutex;

{

    boost::unique_lock<boost::mutex> lk(mutex);

    process( data );

    lk.unlock( );

    // do other thing

};

 

// 设置锁超时

{

  boost::unique_lock<boost::timed_mutex> lk(mutex, std::chrono::milliseconds(3)); // 超时3秒

  if(lk)

    process( data );

};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用友财务软件主要数据表字段含义

用友财务软件主要数据表字段含义 /*rdrecords : 收发记录子表AutoID : auto ID 自动编号 automatism identification(identity)ID : ID 与收发记录主表关联项cInvCode : c…

重叠IO之完成例程

http://hi.baidu.com/%CC%EC%D1%C4_jmf/blog/item/7718ccd99b03cb2710df9bc2.html转载于:https://www.cnblogs.com/vcdebug2010/archive/2012/06/23/2559096.html

一个中科大「差生」的8年程序员工作总结

今年终于从大菊花厂离职了&#xff0c;离职前收入大概60w不到吧&#xff01;在某乎属于比较差的&#xff0c;今天终于有空写一下自己的职场故事&#xff0c;也算是给自己近8年的工作做个总结复盘。近8年有些事情做对了&#xff0c;也有更多事情做错了&#xff0c;在这里记录一下…

Java IO File

#file file的一些方法&#xff0c;因为windows和Linux开发环境的问题&#xff0c;在file中最好统一用 / 输出流操作 转载于:https://www.cnblogs.com/cykfory/p/10294981.html

gtest使用例子

最近使用gtest进行单元测试&#xff0c;采用打桩的形式。关于gtest的详细说明就不多说了&#xff0c;网上的资料一大堆。主要讲解使用时的参数如何配置以及遇到的问题。下面的例子模拟是加、减、乘、除四则运算&#xff0c;前提是不知道加、减、乘、除四则运算是如何实现的。 …

游戏开发中的数学和物理算法(7):角度 vs 弧度

我们通常使用的笛卡尔坐标系统&#xff0c;角点通常在(0,0),即原点。初始边在x轴正半轴&#xff0c;终边与初始边成夹角。初始边逆时针旋转为正值&#xff0c;顺时针旋转为逆值。数学表示&#xff1a;角度&#xff1a;degreeradian*180/π 弧度&#xff1a;radiandegree*π/18…

医学影像PACS系统解决方案与成功案例汇总

经历过2010年一年时间&#xff0c;HC3i论坛也与大家相伴快一年了&#xff0c;这一年中&#xff0c;网友分享专业医疗信息化资料超过15000个&#xff0c;HC3i感谢大家的支持与厚爱&#xff01;岁末年初之极&#xff0c;也整理盘点一下&#xff0c;方便大家回顾一年中精华资源&am…

npm 安装包报错 rollbackFailedOptional

npm config rm proxynpm config rm https-proxy 然后使用npm install -g cnpm --registryhttps://registry.npm.taobao.org安装淘宝的cnpm 然后就可以使用cnpm命令了转载于:https://www.cnblogs.com/xtjatswc/p/10295734.html

一个小老板的春天

大家周末好继续之前说的采访专栏&#xff0c;前两天和一个做生意的朋友聊天&#xff0c;总结了一些内容分享给大家&#xff0c;觉得不错的点赞收藏起来&#xff0c;可能后面你自己当老板了会用到。我这个老板的名字和公司名字我就不说出来了&#xff0c;他现在做的是细分领域&a…

boost学习之boost::shared_ptr

Boost智能指针——shared_ptr boost::scoped_ptr虽然简单易用&#xff0c;但它不能共享所有权的特性却大大限制了其使用范围&#xff0c;而boost::shared_ptr可以解决这一局限。顾名思义&#xff0c;boost::shared_ptr是可以共享所有权的智能指针&#xff0c;首先让我们通过一…

SharePoint GridView的使用2——DataSourceView的使用

首先创建一个abstract类&#xff0c;继承Microsoft.SharePoint.WebControls.DataTableDataSourceView。之后基于这个类可以创建多个显示不同数据的的DataSourceView&#xff0c;在上文的DataSource控件中有个ViewName属性&#xff0c;可以通过这个属性来区分不同的DataSourceVi…

瞧瞧UC浏览器对CSS样式的“关怀”

瞧瞧UC浏览器对CSS样式的“关怀” UC对CSS这样的“照顾”尤其8.0以下体现的是淋漓尽致&#xff01; 不"支持"font-family属性&#xff0c;也就是说&#xff0c;在UC浏览器你只能看到一种字体&#xff1b;不"支持"font-szie属性&#xff0c;也就是说&#…

我在ARM板上写的第一个驱动程序

有时大家喜欢拿电灯来当作笑谈&#xff0c;实际上点灯包含多内容很多&#xff0c;如下这篇文章就是关于嵌入式Linux点灯多技术栈&#xff0c;推荐给大家。摘要&#xff1a;搞嵌入式有两个方向&#xff0c;一个是嵌入式软件开发(MCU方向)&#xff0c;另一个是嵌入式软件开发(Lin…

从github上克隆hibernate项目

开发的项目用到了hibernate进行对象的持久化&#xff0c;最近项目上不忙&#xff0c;打算通过官方文档和源码来进行深度学习。第一步将hibernate部署到本地就折腾了好久&#xff0c;打算记录一下。 关于github的注册说一句&#xff0c;推荐使用outlook邮箱进行注册&#xff0c;…

string、char *、char []之间的相互转换

最近工作中遇到了string、char *、char []之间的相互转换&#xff0c;今天终于抽出时间将他们之间的转换记录下来&#xff0c;使用的是CodeBlocks软件&#xff0c;编译器为GNU GCC compiler&#xff0c;下面看代码&#xff1a; #include <iostream> #include <stdio.…

C语言中匿名的最高境界

C语言中有没有见过(int [2]){19,20}或者int (*pt2)[4]的使用方法&#xff0c;字面上可能不好理解&#xff0c;这是C99之后才新增的知识点&#xff0c;名为复合型表述Compound Literals&#xff0c;一旦熟悉使用&#xff0c;便会体会到它简洁而强大的表达。什么是”复合型表述“…

类与对象(C++)

2.1 类与对象2.1.1 结构体2.1.2 类 2.1 类与对象 2.1.1 结构体 C中的结构体不仅可以包含不同类型的数据&#xff0c;而且还可以包含操作这些数据的函数。 #include <iostream> using namespace std;struct Complex{double i;double r;void init(double rr, double ii)…

Mysql数据库的分离和附加转

一.MYSQL的命令行模式的设置&#xff1a;桌面->我的电脑->属性->环境变量->新建->PATH“&#xff1b;path/mysql/bin;”其中path为MYSQL的安装路径。二.简单的介绍一下命令行进入MYSQL的方法&#xff1a;1.C:/>mysql -h hostname -u username -p 按ENTER键&a…

Python中的xxx+=xxx和xxx=xxx+xxx一些区别及执行过程

预知小知识&#xff1a; Python中的变量与其他语言稍有差异&#xff0c;如a 10并不是直接在内存中创建一个变量a其值为10&#xff0c;而是在内存中创建一个a这个a指向这个10&#xff0c;在Python中所有牵扯到等号的均不是值赋值&#xff0c;全都是引用(C的小伙伴可以大致理解为…

codeblocks安装后提示找不到编译器

安装了自带编译器的codeblocks&#xff0c;但是打开后提示没有找到compiler&#xff0c; 经过几分钟的搜索&#xff0c;找了原因&#xff1a; 打开codeblocks&#xff0c;进入settings->compiler&#xff0c;选择如下: 然后&#xff0c;选择Toolchain executables&#xff…