在一个类的线程中的数据char* a;在线程中经过转换后已经变值,另一个类的线程中要知道char* a;是什么值,请问如果解决?最好不要用用全局变量解决!

解决方案 »

  1.   

    有两种办法,一种是消息响应机制,采用SendMessageThread另一种是线程同步机制,采用Event(信号)来通知,使用CreateEvent, WaitForSingleObject
      

  2.   

    简单例子:
       void  ICP(LPVOID  lparam)
       {
            int  recvValue = (int)lparam;
       }//************
        int sendValue = 10;
    CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&ICP,(LPVOID)sendValue,0,NULL);
      

  3.   

    对应的char* a 为
    void  ICP(LPVOID*  lparam)
       {
            cahr* recvValue = (char*)&lparam;
       }//************
        char* sendValue;
    CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&ICP,(LPVOID*)&sendValue,0,NULL);