来自Process vb.net 2012的StandardOutput流的ReadLine超时

时间:2013-08-09 18:52:49

标签: vb.net multithreading process streamreader

我正在运行一个进程。它应该只需要1.5分钟运行..但有时会发生一些事情,所以在ReadLine它会卡住。我正在处理一个视频文件..我需要一种方法来杀死这个过程,如果它超过3分钟标记。如果进程被杀死,我已经处理了这个条件。我以为我可以运行一个计时器,3分钟后终止进程但是ReadLine锁定了线程..这个函数在我的主程序的一个线程中运行..

2 个答案:

答案 0 :(得分:0)

如果你想运行一个计时器,它应该在第二个线程上完成。一个Console.ReadLine()将锁定你的单个线程。

使用System.Threading.Timer

答案 1 :(得分:0)

这就是我用过的东西..感谢科尔顿指出了正确的方向

    Dim tmr As New System.Threading.Timer(AddressOf MyTimerTick)
    tmr.Change(180000, 0)