/// <summary> /// 启动/停止摆渡车 /// </summary> /// <param name="ferryid"></param> /// <param name="isstart"></param> public void StartStopFerry(uint ferryid, bool isstart) { if (Monitor.TryEnter(_obj, TimeSpan.FromSeconds(2))) { try { FerryTask task = DevList.Find(c => c.ID == ferryid); if (task != null) { if (isstart) { if (!task.IsEnable) { task.SetEnable(isstart); } task.Start(); } else { if (task.IsEnable) { task.SetEnable(isstart); } task.Stop(); PubMaster.Warn.RemoveDevWarn((ushort)task.ID); } } } finally { Monitor.Exit(_obj); } } }
public void Start() { List <Device> ferrys = PubMaster.Device.GetFerrys(); foreach (Device dev in ferrys) { FerryTask task = new FerryTask { Device = dev }; task.Start(); DevList.Add(task); } if (_mRefresh == null || !_mRefresh.IsAlive || _mRefresh.ThreadState == ThreadState.Aborted) { _mRefresh = new Thread(Refresh) { IsBackground = true }; } _mRefresh.Start(); }