⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagequeue.cpp

📁 开发环境为VC++ 的数据库管理系统
💻 CPP
字号:
#include "stdafx.h"
#include "MessageQueue.h"

MESSAGE_QUEUE::MESSAGE_QUEUE()
{
}
MESSAGE_QUEUE::~MESSAGE_QUEUE()
{
	if(!m_msg_list.IsEmpty())
		m_msg_list.RemoveAll();
}
void MESSAGE_QUEUE::AddTail(CWinThread *pthread,UINT message,bool waiting,CString strNote,int waitEventNum,int varSpare)
{
	CSingleLock sLock(&m_section);
	sLock.Lock();
	if(sLock.IsLocked())
	{
		THREAD_MSG msg;
		msg.pthread=pthread;
		msg.message=message;
		msg.waiting=waiting; 
		msg.strNote=strNote;
		msg.waitEventNum=waitEventNum; 
		msg.varSpare=varSpare; 
		m_msg_list.AddTail(msg); 
	}
	sLock.Unlock();
}
void MESSAGE_QUEUE::RemoveHead(void)
{
	CSingleLock sLock(&m_section);
	sLock.Lock();
	if(sLock.IsLocked())
	{
		m_msg_list.RemoveHead(); 
	}
	sLock.Unlock();
}
bool MESSAGE_QUEUE::IsEmpty(void)
{
	bool isempty;
	CSingleLock sLock(&m_section);
	sLock.Lock();
	if(sLock.IsLocked())
	{
		isempty=m_msg_list.IsEmpty()==0?false:true;
	}
	sLock.Unlock();
	return isempty;
}
void MESSAGE_QUEUE::GetHead(THREAD_MSG & msg)
{
	CSingleLock sLock(&m_section);
	sLock.Lock();
	if(sLock.IsLocked())
	{
		msg=m_msg_list.GetHead();
	}
	sLock.Unlock();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -