【发布时间】:2014-07-08 20:47:43
【问题描述】:
我在 C# 中使用 VLC 包装器来显示视频流,我的程序有一个视频流列表,它通过调用包装器“playitem”方法对其进行迭代。在未知的时间量之后(和对 playitem 的调用),当调用 playitem 方法时程序挂起。也不例外,据我所知,包装器(或底层代码)正在等待某种资源在它继续之前返回(CPU 使用率保持不变)。
我想弄清楚这个方法什么时候返回的时间太长,然后退出函数调用,这样我就可以删除包装器正在使用的任何资源并重新加载所有内容,而不会终止整个进程。这可能吗?有没有办法在某种超时中包装函数调用?
【问题讨论】:
-
有多种策略。 MSDN 文章Cancellation in Managed Threads 值得一读。 Threading in C# by Joseph Albahari 有一个关于取消线程的简短部分,这可能会有所帮助。您还可以使用WinDbg 来确定导致挂起的原因
-
kill the VLC wrapper是什么意思?它不是线程或进程,只是一个类。所以没有这样的事情。 -
EZI - 我的意思是删除班级持有的所有资源。
标签: c# multithreading winforms vlc