考虑以下线程函数:
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 ++比较陌生,这就是我想到的(伪代码):
try-catch
。这不起作用,所以我研究了一下,找到了与this one类似的答案。但出于某种原因,我觉得有一种更简单的方法来实现这一目标。在我实施这个想法之前,我只是想要一些澄清。
谢谢!
答案 0 :(得分:1)
一些搜索,我找到了这些:
Windows,Exception Injection: Throwing an Exception in Other Thread,定义ThreadAbort