c#threading:通过threading.timer创建一个组件,并从不同的threadingTimer实例中处理相同的组件

时间:2012-10-12 17:01:21

标签: c# .net com-interop

我有一个c#app,可以在触发Threading.Timer事件时创建并启动directshow图。一段时间后,一个不同的Timer实例试图通过Marshal.ReleaseComObject(theGraph)停止并处理图形。

这会导致线程问题,Visual Studio告诉我,通过尝试从不同于创建它的线程处理com对象(在本例中为图形),我冒着数据损坏的风险。

如何返回原始线程以停止并处理图表?

我对线程知之甚少,而且我一直忽略了这个问题,但我现在有时间了解线程以及如何正确使用它。

任何最受欢迎的指针。

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决问题的方法:http://www.codeproject.com/Articles/12082/A-DelegateQueue-Class