使用某种任务计划或多线程将 Word 自动化应用程序转换为具有多个线程



我有一个在线性意义上运行良好的 Word 自动化项目,它打开 Word 的一个副本,然后一次按顺序处理大量文档,我想通过创建 4 个 Word 进程/对象来加快速度,并能够在其中一个 Word 对象可用时以分布式方式将文件调度到这些进程, 我不想在任务中创建新的 Word 实例,因为这无助于提高必须反复创建和关闭 Word 的速度。我还希望能够在任务上设置超时,以便如果文档导致问题,那么我可以中止它将其标记为错误,然后继续处理其余文件。

另请注意,我所说的任务并不是专门指 C# 任务,而只是一个可重复的工作,我很高兴在 C# 中使用任务,但我也很乐意使用任何其他有效的模式或类。

因此,任何人都可以推荐一种设计模式或一些关于我如何做到这一点的阅读材料,甚至是伪代码或 C# 中非常简单的示例。

提前致谢

对象池模式怎么样?您可以保留一定数量的 Word 进程,并且可以安全地在任务之间共享。有一个答案提供了此实现的示例。

它不涵盖有关超时的要求,但如果处理每个任务中的错误并释放资源(即 Word 进程(,则可能不需要考虑超时逻辑。

相关内容

最新更新