在异常的情况下关闭线程

时间:2013-03-18 19:48:54

标签: c++ windows multithreading sdk

多线程问题:

在C ++和Windows SDK中:

是否可以关闭引发任何内存损坏的线程。我想实现try catch到内存损坏。我希望关闭线程而不会对主线程和整个过程造成任何损害。

仅供参考 - 主线程中未发生此内存异常。

谢谢!

1 个答案:

答案 0 :(得分:3)

如果一个线程破坏了内存(除非它是堆栈,或私有的每线程堆),那么尝试隔离线程没什么价值。大多数堆损坏都会产生连锁反应,使整个过程不稳定,因为所有线程通常共享进程堆。更糟糕的是,最终事情如何以及何时崩溃都将是不可预测的。

您的开发资源最好用于修复错误,而不是尝试减轻其副作用。如果这确实在失败的线程中表现为可重现的异常,Process Dumper可能在从问题出现时生成过程映像快照时很有用。