From aefe9f2572eac7c61f6d2952593ec18a700dfcf0 Mon Sep 17 00:00:00 2001 From: patrick.xu <patrick.xu@broconcentric.com> Date: 星期二, 01 六月 2021 11:43:19 +0800 Subject: [PATCH] 1. 上传数据线程部分修改,界面关闭时退出所有相关线程 --- DetectionDataUpload.cs | 43 +++++++++++++++++++++++++++---------------- 1 files changed, 27 insertions(+), 16 deletions(-) diff --git a/DetectionDataUpload.cs b/DetectionDataUpload.cs index 4d02940..536b414 100644 --- a/DetectionDataUpload.cs +++ b/DetectionDataUpload.cs @@ -23,7 +23,7 @@ { #region 鏁版嵁涓婁紶鐩稿叧绉佹湁鎴愬憳 private DetectionData detectionData; - private Thread uploadDataProcesser; + private Thread uploadDataProcesser = null; //private RunCard runCard; private ConfigStruct config; #endregion @@ -43,33 +43,43 @@ /// </summary> public void Start() { - uploadDataProcesser = new Thread(Execute); - uploadDataProcesser.Start(); + if (uploadDataProcesser == null) + { + uploadDataProcesser = new Thread(Execute); + uploadDataProcesser.IsBackground = true; + uploadDataProcesser.Start(); + } } public void Stop() { - if (uploadDataProcesser != null && uploadDataProcesser.IsAlive) - { - uploadDataProcesser.Abort(); - uploadDataProcesser.Join(); - } - uploadDataProcesser = null; + //if (uploadDataProcesser != null && uploadDataProcesser.IsAlive) + //{ + // uploadDataProcesser.Abort(); + // uploadDataProcesser.Join(); + //} + //uploadDataProcesser = null; } - static object uploadLock = new object(); + //static object uploadLock = new object(); public void UploadData() { - lock (uploadLock) + lock (CommonUtil.UploadDataLock) { + if (!CommonUtil.UploadDataEnable) + return; + DataTable dtUpload = detectionData.QueryUnloadData(); if (dtUpload.Rows.Count <= 0) return; + if (dtUpload.Rows.Count < 20) { Thread.Sleep(2000); dtUpload = detectionData.QueryUnloadData(); } + + CommonUtil.UploadDoneHandle.Reset(); // Type runCardClass = asm.GetType("AutoRunCard.RunCard"); // object runCardObj = Activator.CreateInstance(runCardClass); @@ -168,6 +178,7 @@ //} CommonUtil.WriteLog(LogType.Inf, string.Format("妫�娴嬭褰曚笂浼犵粨鏉�,鍏辨湁{0}绗斿緟涓婁紶鏁版嵁锛屾垚鍔熶笂浼爗1}绗�", dtUpload.Rows.Count, uploadCount)); + CommonUtil.UploadDoneHandle.Set(); } } @@ -234,11 +245,11 @@ int times = 1200 * 5; while (uploadDataProcesser.IsAlive) { - if (!CommonUtil.UploadDataEnable) - { - Thread.Sleep(20); - continue; - } + //if (!CommonUtil.UploadDataEnable) + //{ + // Thread.Sleep(20); + // continue; + //} //UploadData(asm); UploadData(); -- Gitblit v1.8.0