public void InitThreads() { ReadDataThreads = new Dictionary <int, Thread>(); ReadDataWorks = new Dictionary <int, AutomaticReadData>(); foreach (var logger in new GeoViewerEntities().Loggers.Where(ent => ent.AutomaticReadData && ent.LastModifyDatetime != null).ToList()) { var work = new AutomaticReadData(); work.CurrentLogger = logger; Thread thread = new Thread(work.Run); ReadDataThreads.Add(logger.LoggerID, thread); ReadDataWorks.Add(logger.LoggerID, work); } }
public AutomaticReadData ReadDataByThread(Logger logger, bool onlyNewData, bool calculateValue) { var work = new AutomaticReadData() { CurrentLogger = logger, OnlyNewData = onlyNewData, CalculateValue = calculateValue, Loop = false }; var thread = new Thread(work.Run); thread.Start(); return(work); }
public void AddThread(Logger logger) { if (!ReadDataThreads.ContainsKey(logger.LoggerID)) { var work = new AutomaticReadData(); work.CurrentLogger = logger; Thread thread = new Thread(work.Run); ReadDataThreads.Add(logger.LoggerID, thread); ReadDataWorks.Add(logger.LoggerID, work); } if (logger.FirstLogDatetime != null && !ReadDataThreads[logger.LoggerID].IsAlive) { ReadDataThreads[logger.LoggerID].Start(); } }
public void SaveThread(Logger logger) { if (!ReadDataThreads.ContainsKey(logger.LoggerID)) { var work = new AutomaticReadData(); work.CurrentLogger = logger; Thread thread = new Thread(work.Run); ReadDataThreads.Add(logger.LoggerID, thread); ReadDataWorks.Add(logger.LoggerID, work); } else { ReadDataWorks[logger.LoggerID].CurrentLogger = logger; } if (logger.FirstLogDatetime != null && !ReadDataThreads[logger.LoggerID].IsAlive) ReadDataThreads[logger.LoggerID].Start(); }
public AutomaticReadData ReadDataByThread(Logger logger, bool onlyNewData, bool calculateValue) { var work = new AutomaticReadData() { CurrentLogger = logger, OnlyNewData = onlyNewData, CalculateValue = calculateValue, Loop = false }; var thread = new Thread(work.Run); thread.Start(); return work; }
public void InitThreads() { ReadDataThreads = new Dictionary<int, Thread>(); ReadDataWorks = new Dictionary<int, AutomaticReadData>(); foreach (var logger in new GeoViewerEntities().Loggers.Where(ent => ent.AutomaticReadData && ent.LastModifyDatetime != null).ToList()) { var work = new AutomaticReadData(); work.CurrentLogger = logger; Thread thread = new Thread(work.Run); ReadDataThreads.Add(logger.LoggerID, thread); ReadDataWorks.Add(logger.LoggerID, work); } }
public ReadDataForm(Logger logger, bool onlyNewData, bool calculateValue) { _logger = logger; _automaticReadData = ReaderThreadManager.Current.ReadDataByThread(logger, onlyNewData, calculateValue); InitializeComponent(); }