/// <summary> /// 存储数据工作线程:存储历史,无效,漂移数据 /// </summary> private void StartWorkThreadProcess() { PES.Beehive.Logging.Logger.Trace("[StartWorkThreadProcess()] 存储数据工作线程:存储历史,漂移数据"); IList<BaseGPSDataProcessor> processors = new List<BaseGPSDataProcessor>(); BaseGPSDataProcessor p; p = new HistoryDataProcessor(history, _historyConfig); processors.Add(p); history.Clear(); //无效数据 //p = new UnlessDataProcessor(unless); //processors.Add(p); //unless.Clear(); //p = new FetachDataProcessor(fetach); //processors.Add(p); //fetach.Clear(); Process(processors); }
private void StartWorkThreadProcess() { IList<GPSDataProcessor> processors = new List<GPSDataProcessor>(); GPSDataProcessor p; p = new Processor.CameraDataProcessor(camera); processors.Add(p); camera.Clear(); p = new Processor.HistoryDataProcessor(history); processors.Add(p); history.Clear(); p = new Processor.UnlessDataProcessor(unless); processors.Add(p); unless.Clear(); p = new Processor.FetachDataProcessor(fetach); processors.Add(p); fetach.Clear(); //<!--历史、图片、无效、补传数据处理方式,threadpool,createthread,currentthread--> //string type = System.Configuration.ConfigurationManager.AppSettings["gpsdataprocessType"]; switch (processtype) { case "currentthread": Process(processors); break; case "threadpool": System.Threading.WaitCallback callback = new System.Threading.WaitCallback(Process); System.Threading.ThreadPool.QueueUserWorkItem(callback, processors); break; case "createthread": System.Threading.Thread t = new Thread(new ParameterizedThreadStart(Process)); t.Start(processors); break; default: Process(processors); break; } }