ACE_GUARD开头的锁
来源:互联网 发布:php财务管理系统 编辑:程序博客网 时间:2024/04/27 09:26
#define ACE_GUARD_ACTION(MUTEX, OBJ, LOCK, ACTION, REACTION) \ ACE_Guard< MUTEX > OBJ (LOCK); \ if (OBJ.locked () != 0) { ACTION; } \ else { REACTION; }#define ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, REACTION) \ ACE_GUARD_ACTION(MUTEX, OBJ, LOCK, ;, REACTION)#define ACE_GUARD(MUTEX, OBJ, LOCK) \ ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, return)#define ACE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN) \ ACE_GUARD_REACTION(MUTEX, OBJ, LOCK, return RETURN)
这是ACE定义的宏,用这些宏可以方便地节省很多代码量,虽然实际上代码就是一样的。Metex代表锁的种类,Obj代表ACE_Guard的对象,ACTION代表成功的动作,REACTION代表加锁失败的动作。
在ACE中存在读锁和写锁的区别,所以这些宏ACE_Guard也会派生出读锁和写锁。ACE_Guard存在显示的加锁和解锁,但在构造的时候会默认加锁。析构的时候会根据对象是否认为已经加锁,来进行解锁。当然还存在一些其他函数,但这并非是重点了。
0 0
- ACE_GUARD开头的锁
- ACE_Guard的运用
- ACE_Guard<ACE_Thread_Mutex> guard(mutex);
- ACE_Guard守护互斥体锁
- 写在博客的开头
- __builtin开头的宏
- linux,美好的开头
- 写在博客的开头
- 我的C++开头~
- mem开头的库函数
- $开头的内置变量
- 删除"-"开头的文件
- 沉闷的2015开头
- html文件的开头
- "\" 开头的特殊字符:
- [自己的项目]开头
- 机器学习的开头
- 一个敷衍的开头。。。
- JAVA网络编程基础-1-快速网络编程入门-聊天服务器实现
- 平衡二叉树的C语言实现(创建、插入、查找、删除、旋转)【数据结构】
- 通讯录
- UIWebView与JS的深度交互
- Hibernate SQLQuery 原生SQL 查询及返回结果集处理
- ACE_GUARD开头的锁
- 数据挖掘常用算法
- 浅析Java的Thread.join()方法
- ios开发者证书图解
- hdu 5361 In Touch 题目特点+优先队列的dijikstra 2015 Multi-University Training Contest 6
- centos7 安装openfire
- 拆分窗口类CSplitterWnd在对话框中的应用及拆分子窗口间的通信
- My debug:error C2275: “XXX”: 将此类型用作表达式非法
- Tian Ji -- The Horse Racing(hdu1052)