Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#线程:通过threading.timer创建comcomponent,并从不同的threadingTimer实例中处理相同的组件_C#_.net_Com Interop - Fatal编程技术网

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

c#线程:通过threading.timer创建comcomponent,并从不同的threadingTimer实例中处理相同的组件,c#,.net,com-interop,C#,.net,Com Interop,我有一个c#应用程序,它在触发Threading.Timer事件时创建并启动directshow图形。一段时间后,另一个计时器实例尝试通过Marshal.ReleaseComObject(theGraph)停止并处理该图 这会导致线程问题,VisualStudio告诉我,如果试图从创建com对象的线程以外的其他线程中处置com对象(本例中的图形),可能会导致数据损坏 如何回到原始线程上停止并处理图形 我对线程知之甚少,我一直忽略了这个问题,但我现在有一些时间来学习更多关于线程的知识,以及如何正确

我有一个c#应用程序,它在触发Threading.Timer事件时创建并启动directshow图形。一段时间后,另一个计时器实例尝试通过Marshal.ReleaseComObject(theGraph)停止并处理该图

这会导致线程问题,VisualStudio告诉我,如果试图从创建com对象的线程以外的其他线程中处置com对象(本例中的图形),可能会导致数据损坏

如何回到原始线程上停止并处理图形

我对线程知之甚少,我一直忽略了这个问题,但我现在有一些时间来学习更多关于线程的知识,以及如何正确使用它


欢迎使用任何指针。

我在这里找到了解决问题的方法: