private void FaintAlarmFunction() { string nFaintScope = faintAL.FaintScope; int nFaintTime = faintAL.FaintTime; int nFaintIntervalTime = faintAL.FaintIntervalTime; nFaintIntervalTime = nFaintIntervalTime * 60 * 1000; List <LocationAlarm> newAlarms2 = new List <LocationAlarm>(); while (true) { try { //if (bll == null) //{ // bll = GetLocationBll(); //} using (var bll = GetLocationBll()) { if (ab == null) { ab = AuthorizationBuffer.Instance(bll); } Log.Info("FaintAlarm", "判断晕倒告警"); newAlarms2 = ab.GetFaintAlarm(nFaintScope, nFaintTime); if (newAlarms2.Count <= 0) { Thread.Sleep(nFaintIntervalTime); continue; } if (NewAlarmsFired != null) { Log.Info("FaintAlarm", "NewAlarmsFired:" + newAlarms2.Count); NewAlarmsFired(newAlarms2); } } } catch (Exception ex) { Log.Error("FaintAlarmThread", ex); } Thread.Sleep(nFaintIntervalTime); } }