Interthread Communication using PostThreadMessage in C++

In order to communicate between various running thread we could use the  PostThreadMessage

HANDLE Threadhandle;
DWORD  Threadid;

#define UWM_SEND_MY_STRING (WM_APP + 3) 

DWORD WINAPI Threadproc(LPVOID lpParameter )
{
 MSG msg;
 char *p = new char;

 while(GetMessage( &msg, NULL, 0, 0 ))
 {
 p = (char*)(msg.wParam);
 cout << p;
 }
 return 0;  //Exit the thread
}

int main()
{
MSG msg;
Threadhandle = CreateThread(NULL,0,Threadproc,NULL,0,&Threadid);
char *p=new char;
p="Send Message";       
Sleep( 1000 );
while
(TRUE)
 {
  if(PostThreadMessage(Threadid,UWM_SEND_MY_STRING,(WPARAM)p,0)==0)
    {
    printf("failure");
    }
   Sleep(1000);
 }
}
 



No comments:

Post a Comment