Exemplo n.º 1
0
 /// <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); }
     }
 }
Exemplo n.º 2
0
        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();
        }