【问题标题】:Synchronizing COM Threads with .NET将 COM 线程与 .NET 同步
【发布时间】:2009-07-02 06:45:53
【问题描述】:

在我们的 C# 应用程序中,我们使用了第三方 (Thesycon) COM 对象,该对象运行线程以将数据从 7 个文件写入扫描设备。

我通过调用开始写方法

COM.StartWriting()

我可以通过调用来阻止它

COM.StopWriting()

现在的问题是我无法同步线程。这意味着在 7 个文件中我总是错过 4 个文件。 如果查看调试窗口,工作线程类型显示为“BackGround”和 MTA。 如何同步我的主线程和工作线程?

【问题讨论】:

  • 您需要发布更多关于您正在使用的 COM 对象上可用的方法、属性和事件的信息。你说的不能是什么意思 - 你能修改 COM 对象的源但你不知道怎么做吗?还是它是第 3 方组件?并更仔细地解释事件的顺序。哪些代码创建文件并为其命名,它们是如何写入、读取等的,它们是如何“遗漏”的?

标签: c# multithreading com


【解决方案1】:

如果 COM 对象没有提供监视其进程的方法,那么答案将是否定的。

如果 COM 对象确实提供了一种机制,那么您需要使用它来确定何时可以执行StopWriting

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2012-02-19
    • 2021-01-31
    • 1970-01-01
    • 2013-03-18
    相关资源
    最近更新 更多