#include "ace/ACE.h"
#include "ace/OS.h"
#include "ace/Synch.h"
#include "ace/Message_Queue_T.h"
#include "ace/Thread_Mutex.h"
#include "ace/Thread_Manager.h"
#include <iostream>
struct MYMSG
{
int version;
int sn;
char *context;
};
class CTest
{
public:
CTest();
~CTest();
int init();
private:
ACE_Message_Queue<ACE_MT_SYNCH> m_queue;
static void handleSend(void *p);
};
int main(int argc, char* argv[])
{
CTest myTest;
myTest.init();
ACE_Thread_Manager::instance()->wait();
return 0;
}
CTest::CTest()
{
}
CTest::~CTest()
{
}
int CTest::init()
{
// 创建出来一个线程
ACE_Thread_Manager::instance()->spawn((ACE_THR_FUNC)CTest::handleSend, (void*)this,
THR_NEW_LWP|THR_JOINABLE);
Sleep(2000);
int i = 0;
for (; i < 20000; i++)
{
MYMSG *myMsg = new MYMSG;
myMsg->version = 1;
myMsg->sn = i;
ACE_Message_Block *msgBlock = new ACE_Message_Block((const char *)myMsg, sizeof(MYMSG));
m_queue.enqueue(msgBlock);
}
return 0;
}
void CTest::handleSend(void *p)
{
if (NULL == p)
{
return;
}
CTest *my = (CTest *)p;
ACE_Message_Queue<ACE_MT_SYNCH> *msgQueue = &my->m_queue;
if (NULL == msgQueue)
{
return;
}
ACE_Time_Value timeout;
while (true)
{
ACE_Message_Block * mb = NULL;
msgQueue->dequeue(mb);
if (NULL != mb)
{
MYMSG *myMsg = (MYMSG *)mb->base();
delete mb;
mb = NULL;
std::cout << "sn = " << myMsg->sn << std::endl;
delete myMsg;
myMsg = NULL;
}
}
}
分享到:
相关推荐
用ACE通过队列实现可靠消息传送。在Windows环境下运行,运行时需要ACED.dll。
ace技术内幕一书的示例代码-linux平台
ACE_Proactor TCP协议通信示例代码
使用ACE_Proactor进行TCP通信的示例代码。
ACE 程序员指南 配套源代码,书中的示例代码
响应式Bootstrap网站后台管理系统模板ace admin,非常不错的轻量级易用的admin后台管理系统,基于Bootstrap3,拥有强大的功能组件以及UI组件,基本能满足后台管理系统的需求,而且能根据不同设备适配显示,而且还有...
Android NDK下使用ACE的示例代码。
aceeditor是一款不错的语法着色在线编辑器,使用js创建,支持40多种常见语言,最初接触是因为liferay的aui团队使用了,我想提取出来,看了源码发现是另外一个叫ace的,没事就找了找,打包分享出来
ACE-6.2.0源代码,开发网络程序的优秀资源。有兴趣的可以下载浏览一下。
ace技术内幕实例代码
其实 ACE 的源码中就有APG的示例代码,这个是从 ACE_5.7.4 里面拷贝出来的。之前搜了很久的示例代码,后来才听说 ACE 里面有,故共享一下~
使用three.js制作的Ace编辑器示例源码.zip
ACE_Task类的使用实例,并发编程概念讲解
ACE最新的源代码库,包含了头文件及一些例子,在VC++上运行编译-ACE latest source code library that contains the header files and some examples to run in VC++ compiler
用于学习ACE的好帮手,在学习ACE过程中写的测试代码,使用到消息队列和主动任务,实现的网络程序结构清析,比较有利于刚学ACE的朋友。开发环境VS2005+ACE5.6
springmvc框架 ACE框架 springmvc+mybatis+bootstrap MYSQL mysql可用版ace框架 反向代码生成 mysql数据库脚本
aceEditor前端代码编辑器api文档,官网访问不了,下载下来备查
我们知道,在编辑SQL语句的时候,可以通过各种客户端软件对SQL语句进行格式化,但是我们如果想通过...这时我们可以借助sql-formatter.js插件来实现,具体参考Demo附件(可直接运行,内附ACE编辑器使用示例及效果)。
讨厌的ASP代码,360报为恶意程序(BDS.ASP.Ace.RR)代码