/// <summary> /// 往a¨′入¨?场?记?录?队¨?列¢D中D添?¨a加¨?数oy据Y /// </summary> /// <param name="record"></param> public void AcceptUpLoadData(IDataUpLoad data) { lock (_objLock) { queueDataUpLoad.Enqueue(data); AcceptDataEvent.Set(); } }
/// <summary> /// 处?|理¤¨a出?场?队¨?列¢D中D的ì?数oy据Y /// </summary> private void AcceptUpLoadDataWork(object state) { while (true) { try { AcceptDataEvent.WaitOne(); IDataUpLoad iDataUpLoad = null; while (queueDataUpLoad.Count > 0) { lock (_objLock) { if (queueDataUpLoad.Count > 0) { iDataUpLoad = queueDataUpLoad.First(); } } if (null != iDataUpLoad) { var result = iDataUpLoad.DataPush(); if (result) { queueDataUpLoad.Dequeue(); } } } AcceptDataEvent.Reset(); } catch (Exception ex) { LogHelper.Log.Error("上|?传??数oy据Y错?¨a误¨?:êo" + ex.Message); } finally { AcceptDataEvent.Reset(); } } }