messagequeue.cpp
来自「开发环境为VC++ 的数据库管理系统」· C++ 代码 · 共 61 行
CPP
61 行
#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 + =
减小字号Ctrl + -
显示快捷键?