public class Worker
{
private Boolean Running = false;
public Boolean Work = true;
private Process[] Processes;
public event EventHandler<WorkerEventArgs> WorkerEvent;
public virtual void OnWorkerEvent(String _Event)
{
if (WorkerEvent != null) WorkerEvent(this, new WorkerEventArgs(_Event));
}
public void Start()
{
while (Work)
{
Processes = Process.GetProcessesByName("iw4mp.dat");
if (Processes.Count() >= 1)
{
if (!Running)
{
OnWorkerEvent("Run");
}
Running = true;
Thread.Sleep(2500);
}
else
{
if (Running)
{
OnWorkerEvent("Exit");
}
Running = false;
Thread.Sleep(2500);
}
foreach (var A in Processes)
{
A.Dispose();
}
}
}
}
Этот класс пропускает память каждые 2,5 секунды (да, я контролировал использование памяти с помощью диспетчера задач), когда я вызываю ThreadStart с помощью функции Start ().Любые идеи о том, почему это происходит ...?
По сути, метод Start () должен просто опросить, если iw4mp.dat работает, даже если он работает ... я понятия не имею, почему он продолжает выделять памятькаждая петля ...