从工作线程在主线程中运行一些代码

时间:2011-01-14 16:51:10

标签: c++ windows multithreading

我必须通知主线程从其中一个工作线程运行一些代码。

由于某些COM问题(在线程上运行它只是失败),该代码必须在主线程中运行。

我开始使用消息和事件来实现它(我需要等待代码在执行之前执行)当我重新编写时,在Java和SWT中有一些非常简单直接的方法)

  display.syncExec (new Runnable () {
  public void run () {
     if (!myWindow.isDisposed())
        myWindow.redraw ();
  }

一般来说MFC和Windows有类似的东西吗?

1 个答案:

答案 0 :(得分:1)

您可以使用PostThreadMessage WinAPI函数向主线程发送WM_USER消息。然后,您可以在主线程中处理WM_USER并执行一些必要的操作。