Поскольку это симуляция, может быть, есть лучший способ, чем запускать группу Timer
с?Возможно, вы могли бы иметь одно представление «времени», которое может уведомить слушателей (или, проще говоря, список) через некоторое заданное время.
Итак, если ваш Timer
должен отключиться через 5 секунд, тогдаэтот объединенный таймер будет уведомлять ваш объект через 5 тиков о его «времени».
Тогда у вас может быть один таймер, который просто выполняется с любой степенью детализации, которая вам нужна (например, 1 секунда представляет 1 тик).Таким образом, если вам нужно ускорить или замедлить симуляцию, то после того, как этот единственный Timer
сработает, вы увеличиваете «тики», а не в реальном времени.Таким образом, скорость 50% увеличивается только на 0,5 тика каждую секунду.Скорость 200% увеличивается на 2 такта каждую секунду.