📄 messagequeue.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 + -