static TimeMonitorRepository() { Thread thread = new Thread(() => { while (true) { Token token; if (_tokenToProcess.TryDequeue(out token)) { TimeMonitor tm; if (!_timeMonitors.TryGetValue(token.Name, out tm)) { tm = new TimeMonitor(token.Name); _timeMonitors[token.Name] = tm; } tm.AddTime(token.Duration); } else { Thread.Sleep(5); } } }); thread.Name = "TokenProcessor"; thread.IsBackground = true; thread.Start(); }
public static TimeMonitor GetTimeMonitor(string name) { TimeMonitor result = null; if (_timeMonitors.TryGetValue(name, out result)) { return(result); } return(result); }