嘿,我有这个控制台应用程序,需要运行更长的时间,其中一个功能是检测某个进程,但它在该部分泄漏。
我在计时器中使用它进行检测:
Private Sub OnTimedEvent() Handles mytimer.Elapsed
If Process.GetProcessesByName(Gname).Length = 1 Then
misRunning = True
Else
misRunning = False
End If
End Sub
GC.Collect会有所帮助,但我不确定调用GC.Collect是正确的做法。
答案 0 :(得分:0)
您的代码OnTimedEvent
中可能出现的重新入侵问题在上一次通话结束前触发
尝试在输入方法时禁用计时器,然后重新启用它:
Private Sub OnTimedEvent() Handles mytimer.Elapsed
myTimer.Enabled = False
If Process.GetProcessesByName(Gname).Length = 1 Then
misRunning = True
Else
misRunning = False
End If
myTimer.Enabled = True
End Sub