Каков эффект изменения системного времени при потоках сна?

На самом деле мне нужно было только правильно прочитать документацию. Регистратор событий принимается так:

org.apache.log4j.Logger eventLogger = org.apache.log4j.Logger.getLogger("tapestry.events.de.[...].Edit");

, который затем можно настроить на отладку аналогично обычному регистратору:

eventLogger.setLevel(Level.DEBUG);
6
задан Mecki 9 January 2009 в 11:51
поделиться

2 ответа

Насколько я знаю, функции сна обычно реализуются больше как постепенно уменьшающийся счетчик. Вы говорите "сон в течение 10 секунд", который переводит в "сон для 1 000 галочек расписания" в планировщике, и затем каждый раз, когда планировщик проверяет ждущие процессы, он постепенно уменьшает оставленное количество времени.

Таким образом время сна всегда будет суммой реального времени для сна, в противоположность сну до некоторого времени в будущем. Причина этого состоит в том, как Вы подозревали, если мы выбираем время в будущем, мы никогда не могли бы добираться там (или мог бы добраться там за неожиданное количество времени). Это согласовывается с тем, для чего Вы хотели бы использовать сон в программе. Это не предназначено, чтобы сделать подобные календарю вычисления.

Можно также сделать простой тест, сделать сон программы в течение 30 секунд, использовать отклонить команду "времени" для времени, сколько времени функция работает, и после того, как это запускается, изменяют системные часы назад 5 минут и видят то, что происходит.

3
ответ дан 17 December 2019 в 04:53
поделиться

Поток будет проверять внутренний счетчик, который установлен на продолжительность сна не в конец точка сна. Внутренний используемый счетчик не имеет никакого отношения к текущему системному времени и поэтому не будет затронут, если какие-либо изменения происходят в системное время.

2
ответ дан 17 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: