ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
966907 Топик полностью
fk0, легенда (25.12.2019 11:17, просмотров: 130) ответил _Constantin24 на Не могу не согласиться: вместо решения необходимой задачи приходится тратить время на "рукоблудие" (на самом деле я просто исследую). Но вопрос остался открытым. Причины использования следующие: защита от дурака при перечади timeout, перерасчет
На самом деле для счётчика времени достаточно 32-битной величины. И пусть она периодически переполняется. Важно лишь не пытаться оперировать периодами большими чем период переполнения. И не рассчитывать время в будущем (что, очевидно, невозможно). Времена можно только вычитать, для расчёта прошедшего времени, и его можно сравнивать с заданным интервалом, например. Нет, конечно идея расчёта времени в будущем тоже полезная, лучше иметь в API задание абсолютного времени когда должно что-то сработать, чем задание интервалов (через сколько) -- потому, что в последнем случае, чтоб не накапливалась погрешность, нужно отдельно запоминать абсолютные значения и рассчитывать следующий интервал. Но если хочется складывать время, то тип должен быть фиксирован (нельзя сложить int и long) и после сложения, поскольку возможно было переполнение, нельзя выполнять операцию сравнения. Немного нетривиально.
[ZX]