public void RemoveMonitor(ContextMonitor monitor) { monitor.Stop(); monitors.Remove(monitor); threadsHT.Remove(monitor); if (monitors.Count == 0) monitorsStarted = false; }
public void AddMonitor(ContextMonitor monitor) { ThreadStart monitorStart = new ThreadStart(monitor.Run); Thread monitorThread = new Thread(monitorStart); monitorThread.IsBackground = true; monitors.Add(monitor); threadsHT.Add(monitor, monitorThread); if (monitorsStarted) StartMonitor(monitor, monitorThread); }
private void StartMonitor(ContextMonitor monitor, Thread thread) { monitor.Start(); thread.Start(); }