ACE的同步typde类型和宏定义

原创 2004年11月04日 14:16:00

ACE的同步typde类型和宏定义

典型的锁哨宏用法

ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->mutex_, -1);

ACE_SYNCH_MUTEX定义在下面的文件中

 

Synch_T.h

同步对象宏定义,

主要提供typedef统一多线程同步定义

 

class ACE_Export ACE_MT_SYNCH

{

public:

  typedef ACE_Thread_Mutex MUTEX;      //线程互斥锁

  typedef ACE_Null_Mutex NULL_MUTEX;         //空互斥锁

  typedef ACE_Process_Mutex PROCESS_MUTEX; // 进程互斥锁

  typedef ACE_Recursive_Thread_Mutex RECURSIVE_MUTEX; // 线程递归互斥锁

  typedef ACE_RW_Thread_Mutex RW_MUTEX; //线程读写锁

  typedef ACE_Condition_Thread_Mutex CONDITION;//线程条件互斥锁

  typedef ACE_Condition_Recursive_Thread_Mutex RECURSIVE_CONDITION; //线程条件互斥递归锁

  typedef ACE_Thread_Semaphore SEMAPHORE; // 线程信号量

  typedef ACE_Null_Semaphore NULL_SEMAPHORE; //空信号量

};

 

 

ACE#define同步对象的宏,以ACE_SYNCH_前缀

#if defined (ACE_HAS_THREADS)

 

#define ACE_SYNCH_MUTEX ACE_Thread_Mutex

#define ACE_SYNCH_NULL_MUTEX  ACE_Null_Mutex

#define ACE_SYNCH_RECURSIVE_MUTEX ACE_Recursive_Thread_Mutex

#define ACE_SYNCH_RW_MUTEX ACE_RW_Thread_Mutex

#define ACE_SYNCH_CONDITION ACE_Condition_Thread_Mutex

#define ACE_SYNCH_RECURSIVE_CONDITION ACE_Condition_Recursive_Thread_Mutex

#define ACE_SYNCH_SEMAPHORE ACE_Thread_Semaphore

#define ACE_SYNCH_NULL_SEMAPHORE  ACE_Null_Semaphore

 

#else /* ACE_HAS_THREADS */

 

#define ACE_SYNCH_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_NULL_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_RECURSIVE_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_RW_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_CONDITION ACE_Null_Condition

#define ACE_SYNCH_RECURSIVE_CONDITION ACE_Null_Condition

#define ACE_SYNCH_SEMAPHORE ACE_Null_Semaphore

#define ACE_SYNCH_NULL_SEMAPHORE ACE_Null_Mutex

 

#endif /* ACE_HAS_THREADS */

ACE_Task介绍(生产者/消费者)v3.0

1ACE_Task 概述 ACE_Task是ACE中的任务或主动对象“处理结构”的基类。ACE使用此类来实现主动对象模式。所有希望成为“主动对象”的对象都必须由此类派生。同时可将它看作是更高级的、...
  • ClamReason
  • ClamReason
  • 2013年11月24日 18:08
  • 2658

ACE笔记(二):ACE_Task框架

作者:李嘉日期:2006-8-19未经本人的书面许可,请勿进行任何商业目的的转载。    在我看来,ACE的ACE_Task框架提供了一种基于消息的编程模式,可以Windows编程的消息循环进行类比。...
  • imjj
  • imjj
  • 2006年08月19日 14:56
  • 9870

ACE_Message_Queue

1.与System V的消息队列模型不同   ACE_Message_Queue的模型是仿照System V streams提供的排队设施设计的,但是与System V排队设施不同,使用ACE的排...
  • u011676589
  • u011676589
  • 2014年04月16日 23:13
  • 992

ACE学习(七)ACE_Message_Queue

ACE_Message_Queue   消息队列的使用已经在前面的ACE_Semaphore中使用到了,其中使用的就是它的典型用法。 ACE_Message_Queue /**  * @cl...
  • ysu108
  • ysu108
  • 2013年06月09日 14:10
  • 4648

ace学习之ACE_Guard类

CE_Mutex包装为同步多线程控制提供了一种相对优雅的方法,它们仍是潜在地易错的,因为开发者有可能会忘记调用release方法(或是由于程序员的疏忽,或是由于C++异常的发生)。为改善应用的健壮性,...
  • wallwind
  • wallwind
  • 2011年12月04日 00:16
  • 6217

ACE_Singleton用法

#include #include #include #include #include #include #include class MyClass...
  • openXMPP
  • openXMPP
  • 2013年03月25日 10:36
  • 2270

ACE_Message_Queue<ACE_MT_SYNCH>::putq ()使用时需要注意的地方

函数声明 template int ACE_Task::putq ( ACE_Message_Block * , ACE_Time_Value * timeout = 0 ) ...
  • wayz11
  • wayz11
  • 2013年03月21日 17:46
  • 1829

关于ACE_Svc_Handler

我声明一个继承至ACE_Svc_Handler的类:mainTask.其中有成员变量:std:vector list;我在回调handle_input中向list中放入内容,在handle_out...
  • fcryuuhou
  • fcryuuhou
  • 2013年04月17日 15:04
  • 3369

ACE线程管理机制-并发控制(1)

转载于:http://www.cnblogs.com/TianFang/archive/2006/12/04/581771.html ACE Lock类属 锁类属包含的类包装简单的锁定机制,比如互斥体...
  • shmilxu
  • shmilxu
  • 2016年03月08日 16:43
  • 754

常用ACE锁的类型分析及使用规则

 NJZhuJinhua@csdn May.15, 2010mail:jinhua1982@gmail.comhttp://blog.csdn.net/njzhujinhua转载请注明出处。朱金华  ...
  • NJZhuJinhua
  • NJZhuJinhua
  • 2010年05月15日 22:34
  • 6886
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ACE的同步typde类型和宏定义
举报原因:
原因补充:

(最多只允许输入30个字)