private void StartEventsTicking() { foreach (var ev in _events) { var timerRandom = new Random(); var doubleRandom = new Random(); var liftedEv = ev; ThreadPool.QueueUserWorkItem(_ => { while (!_shouldStop) { if (IsActive(liftedEv)) { var value = Convert.ToInt32(doubleRandom.NextDouble()*100).ToString(); var payload = new ChangeValuePayload {Name = liftedEv, Value = value}; _publisher.Publish(payload); } Thread.Sleep(new TimeSpan(0, 0, 0, 0, Convert.ToInt32(timerRandom.NextDouble() * 100))); } }); } }
private void StartEventsTicking() { foreach (var ev in _events) { var timerRandom = new Random(); var doubleRandom = new Random(); var liftedEv = ev; ThreadPool.QueueUserWorkItem(_ => { while (!_shouldStop) { if (IsActive(liftedEv)) { var value = Convert.ToInt32(doubleRandom.NextDouble() * 100).ToString(); var payload = new ChangeValuePayload { Name = liftedEv, Value = value }; _publisher.Publish(payload); } Thread.Sleep(new TimeSpan(0, 0, 0, 0, Convert.ToInt32(timerRandom.NextDouble() * 100))); } }); } }