VB.NET Синхронизация нескольких вещей, лучше иметь много секундомеров или один секундомер и рассчитывать смещения - PullRequest
0 голосов
/ 07 января 2011

VB.NET 2010, .NET 4

Здравствуйте,

У меня есть приложение, которое управляет процессом, и несколько секундомеров, которые отслеживают истекшее время с момента различных событий.

Упрощенная картина такова: процесс начинается, позднее происходит событие «A», позднее - «B» и т. Д. *

Существует конечное числотакие события.В начале каждого события (включая событие запуска процесса) я создаю и запускаю новый секундомер.Затем я обновляю некоторые индикаторы, которые отображают время, прошедшее с начала каждого события.

Итак, у меня есть несколько меток (LabelStart, LabelA, LabelB и т. Д.), Каждая из которых отформатирована в формате HH: MM: SS, которые представляютистекшее время с момента каждого события.Их текст получен из свойств соответствующих секундомеров.

Мой вопрос: лучше ли иметь один секундомер и список целых чисел смещения (с точки зрения эффективности процессора / памяти)?То есть секундомер запускается при запуске процесса, и при каждом событии в список добавляется целое число, равное текущим истекшим миллисекундам в этом секундомере.Затем можно обновить метки, вычтя смещение из одного запущенного секундомера.

Я понятия не имею, как они работают.Может быть, это глупый вопрос.Мне просто любопытно.

Заранее спасибо!Brian

Ответы [ 2 ]

1 голос
/ 16 марта 2015

Тип секундомера сам по себе является структурой, а не классом, и он по существу содержит индикацию «mode» вместе с числом, которое либо представляет количество прошедших тиков (когда он не запущен), либо значение счетчика производительности системыв котором это должно считаться начатым (когда он работает).Массив, содержащий миллион StopWatch экземпляров, все запущенные в разное время, будет накладывать не более продолжительные накладные расходы, чем любой другой массив структур аналогичного размера.

1 голос
/ 07 января 2011

Если вы разрабатываете приложение для компьютеров и если SEVERAL не слишком сильно меньше 10, это не должно иметь значения Но то, как вы думаете, сделает его более эффективным.

...