0

我最近发现了 ATL 的 CThreadPool 类并且对这个发现非常满意。这是一个简洁的小类,它将处理让多个工作线程处理一些任务队列的同步语义。这些任务由一些外部进程提供给 CThreadPool 对象。

现在假设其中一个工作线程遇到错误,或者有异常。我并不是指您希望整个应用程序死掉的异常类型,但这是您想要更优雅地处理的事情。优雅地说,我的意思是应用程序可能会死掉,但我需要做一些清理工作,并在某处放置一条正确的消息,说明它为什么会死掉。

将错误信息(消息、错误代码、源等)传输到拥有 CThreadPool 对象的主线程的最佳方式是什么?

4

2 回答 2

2

如果我正在使用这个系统,我会使用应用程序的消息处理程序可以响应的自定义事件从错误任务中发布消息。您应该捆绑您需要的任何信息以便正确清理。

于 2009-03-06T13:10:08.107 回答
1

使用具有同步访问权限的队列来记录队列中的消费者事件的所有错误和线程。

于 2009-03-06T13:30:40.507 回答