Я использую java.util.concurrent.scheduledexcecutorservice.scheduleatfixedrate для периодического выполнения задачи. Я запускаю его один раз в минуту, и он обычно заканчивается через 5 секунд, но иногда бежит дольше, чем минута. Сервис PradeUleatFixedRate ведет себя как я и ожидал, согласно Javadoc: «Если какое -либо выполнение этой задачи займет больше времени, чем ее период, то последующие выполнения могут запуститься поздно, но не будут одновременно выполнять». Это поведение, которое я хочу, и я вижу, что оно работает правильно. Я не могу найти это документированное нигде, и исходный код действительно подразумевает, что это будет иметь место. Если это так, есть ли более надежный способ справиться с этим?
Подробнее здесь: https://stackoverflow.com/questions/796 ... n-tasks-ru