线程间通讯

本文详细介绍了如何使用线程和测试类实现多线程编程,通过实例展示了线程的创建、运行及消息处理过程,特别强调了如何在测试类中集成线程,并通过PostThreadMessage和Sleep函数进行线程间的消息交互。
摘要由CSDN通过智能技术生成

参考文章连接文章连接:http://www.codeproject.com/cpp/Win32_MQ_MultiThreading.asp

下边的事例程序用到了线程,test继承自CThread,参考下面的链接:

http://blog.csdn.net/wei801004/archive/2006/05/18/744341.aspx

 #define THRD_MESSAGE WM_USER + 2

DWORD WINAPI test::ThreadWorkItem(LPVOID lpParameter)
{
 MSG msg;
 while (true)
 {
  BOOL MsgReturn = ::PeekMessage(&msg, NULL, 0, 0,PM_REMOVE);//程序会立刻返回

 //BOOL MsgReturn = ::GetMessage(&msg, NULL, 0, 0);//程序阻塞接受消息

  if (MsgReturn)
  {
   switch ( msg.message )
   {
   case THRD_MESSAGE:
    {
     break;
    }
   default:
    cout<<"Error!"<<endl;
    break;
   }
  }
 }
 return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
 test oTest;
 oTest.Start();

 PostThreadMessage (oTest.m_dwThreadID, THRD_MESSAGE, 0,0);

 Sleep(100);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值