1

考虑以下线程函数:

UINT MyClass::threadFunc(LPVOID lParam)
{
    // 1. Initialize stuff
    // 2. Validate stuff
    // 3. Do first task
    // 4. Do second task
    // 5. Un-initialize everything and return
}

这个线程是由我的应用程序中的一个对话框创建的。该线程将在对话框的生命周期中只运行一次(它是一个工作线程)。

在发生一些异步事件(可能是单击按钮,发出其他事件等)时,我想通知该线程立即返回,以便我的对话框可以正常退出(在等待该线程终止之后)。我不能只退出对话框,因为该线程仍将运行。

我对 C++ 比较陌生,这就是我所想到的(伪代码):

  1. 将线程函数包围在try-catch.
  2. 在发生该异步事件时,引发线程终止异常。

这没有用,所以我进行了一些研究,并找到了与此类似的答案。但出于某种原因,我觉得有一种更简单的方法可以实现这一点。在我开始实施上述想法之前,我只是想澄清一下。

谢谢!

4

1 回答 1

1

一些搜索,我发现了这些:

于 2013-03-09T06:57:11.990 回答