为什么小弟我的一个线程接受不到另外一个线程的消息呢
为什么我的一个线程接受不到另外一个线程的消息呢
我创建2个工作线程,一个是接受数据,一个是显示数据
下面是主要代码:
CWinThread *w_Read, *w_Display;
UINT ReadAccProcess(LPVOID param);
UINT DisplayProcess(LPVOID param);
#define UM_SETDATA 1
MSG msg;
UINT ReadAccProcess(LPVOID param) //读数据线程
{
hFinishDone = CreateEvent(NULL,FALSE,TRUE,NULL);
while(ThreadFlag)
{
if(WAIT_OBJECT_0 == WaitForSingleObject(hFinishDone,0))
{
//接受数据代码;
}
PostThreadMessage(w_Display-> m_nThreadID,UM_SETDATA, NULL, NULL );
Sleep(1);
}
AfxEndThread(0);
return 0;
}
UINT DisplayProcess(LPVOID param1)//显示线程
{
while(ThreadFlag)
{
while(m = GetMessage(&msg,NULL,0,0))
{
if(msg.message == UM_SETDATA)
{
我创建2个工作线程,一个是接受数据,一个是显示数据
下面是主要代码:
CWinThread *w_Read, *w_Display;
UINT ReadAccProcess(LPVOID param);
UINT DisplayProcess(LPVOID param);
#define UM_SETDATA 1
MSG msg;
UINT ReadAccProcess(LPVOID param) //读数据线程
{
hFinishDone = CreateEvent(NULL,FALSE,TRUE,NULL);
while(ThreadFlag)
{
if(WAIT_OBJECT_0 == WaitForSingleObject(hFinishDone,0))
{
//接受数据代码;
}
PostThreadMessage(w_Display-> m_nThreadID,UM_SETDATA, NULL, NULL );
Sleep(1);
}
AfxEndThread(0);
return 0;
}
UINT DisplayProcess(LPVOID param1)//显示线程
{
while(ThreadFlag)
{
while(m = GetMessage(&msg,NULL,0,0))
{
if(msg.message == UM_SETDATA)
{