工作线程 ---> UI线程
工作线程 ---> 工作线程
UI线程 ---> UI线程
UI线程 ---> 工作线程============================
这几种情形各是怎么样的呢?

解决方案 »

  1.   

    只有UI线程支持消息处理,工作线程不支持消息处理

    工作线程 ---> UI线程           可以发送消息
    工作线程 ---> 工作线程         不可以
    UI线程 ---> UI线程             可以
    UI线程 ---> 工作线程           不可以
      

  2.   


    BOOL PostThreadMessage(
      DWORD idThread, // thread identifier
      UINT Msg,       // message
      WPARAM wParam,  // first message parameter
      LPARAM lParam   // second message parameter
    );
      

  3.   

    感谢Jasanye(叶子)!请教alfwolf(戈壁孤狼):用PostThreadMessage()函数可以实现以下功能吗?
    工作线程 ---> 工作线程
    UI线程 ---> 工作线程
      

  4.   

    TO:ymbymb(毛病大哥)用全局变量的话,不能达到实时性的要求吧?难道要在工作线程里加入一个死循环?
      

  5.   

    如果你要PostThreadMessage()发送消息的化,你必须在你的工作者线程中自己处理消息循环,当然你还可以可以通过创建信号量来进行线程之间的通信
      

  6.   

    UI线程可以有多种方式跟辅助线程通话,但windows消息行不通
    用事件,全局变量都可以,但要注意同步
    PostThreadMessage()将消息发送给线程,若线程有消息队列,则返回TRUE,否则返回FALSE
    故而该函数不能实现UI线程和工作者线程得对话
      

  7.   

    更正:如果PostThreadMessage()发送消息成功,返回非0,否则为0
    同意Jasanye(叶子) :
    如果你要PostThreadMessage()发送消息的化,你必须在你的工作者线程中自己处理消息循环,当然你还可以可以通过创建信号量来进行线程之间的通信