Beispiel #1
0
        public void Run()
        {
            _logger.Log("Begin");

            var commonActiveContext = new ActivePeriodicObjectCommonContext();

            var dateTimeProvider = new DateTimeProvider(_logger, commonActiveContext);

            dateTimeProvider.LoadFromSourceCode();
            dateTimeProvider.Start();

            Thread.Sleep(10000);

            _logger.Log($"dateTimeProvider.CurrentTiks = {dateTimeProvider.CurrentTiks}");

            _logger.Log("End");
        }
Beispiel #2
0
        public void Run()
        {
            _logger.Log("Begin");

            var commonActiveContext = new ActivePeriodicObjectCommonContext();

            var activeContext = new ActivePeriodicObjectContext(commonActiveContext);

            var activeObject = new AsyncActivePeriodicObject(activeContext)
            {
                PeriodicMethod = NRun
            };

            var activeObject2 = new AsyncActivePeriodicObject(activeContext)
            {
                PeriodicMethod = NRun_2
            };

            _logger.Log($"activeObject.IsWaited (0) = {activeObject.IsWaited}");
            _logger.Log($"activeObject.IsActive (0) = {activeObject.IsActive}");

            var taskValue = activeObject.Start();

            _logger.Log($"taskValue = {taskValue}");

            activeObject2.Start();

            Thread.Sleep(10000);

            _logger.Log($"activeObject.IsWaited = {activeObject.IsWaited}");
            _logger.Log($"activeObject.IsActive = {activeObject.IsActive}");

            commonActiveContext.Lock();

            activeContext.WaitWhenAllIsNotWaited();

            Thread.Sleep(1000);

            _logger.Log($"activeObject.IsWaited (2) = {activeObject.IsWaited}");
            _logger.Log($"activeObject.IsActive (2) = {activeObject.IsActive}");

            Thread.Sleep(1000);

            commonActiveContext.UnLock();

            Thread.Sleep(1000);

            _logger.Log($"activeObject.IsWaited (3) = {activeObject.IsWaited}");
            _logger.Log($"activeObject.IsActive (3) = {activeObject.IsActive}");

            //Thread.Sleep(1000);

            //activeObject.Stop();

            //_logger.Log($"activeObject.IsWaited (4) = {activeObject.IsWaited}");
            //_logger.Log($"activeObject.IsActive (4) = {activeObject.IsActive}");

            //Thread.Sleep(10000);

            //taskValue = activeObject.Start();

            //_logger.Log($"taskValue = {taskValue}");

            //Thread.Sleep(1000);

            //activeObject.Stop();

            //Thread.Sleep(1000);

            //_logger.Log($"activeObject.TaskValue = {activeObject.TaskValue}");

            //activeObject.Dispose();

            //Thread.Sleep(1000);

            //taskValue = activeObject.Start();

            //_logger.Log($"taskValue = {taskValue}");

            Thread.Sleep(1000);

            _logger.Log("End");
        }