Я полагаю, что ключевыми являются ключевые переменные (например, IO). Какую меру вы ищете? Я также не уверен, что это (строго говоря), связанное с Java.
В любом случае, мне кажется, вам нужна сравнительная операция.
Две разные машины записывают на общее устройство (ваш SMB) и каждый создает файл, содержащий their epoch. В идеале, чтобы свести к минимуму проблемы с задержкой, вы хотели бы получить эту эпоху, полученную как раз перед тем, как писать, а затем сразу же закрыть файл.
Затем клиент сравнивает свою собственную эпоху и временную метку файла с файлом сервера и его содержанием эпохи. Эти 4 меры должны предоставить достаточную информацию, чтобы получить представление о относительной разнице между временем эпохи JVM.
[Редактировать уточнить]
Например, кортеж сервера является ({эпоха, ц}): {S_t, SMB_ts}, и клиент {C_S_t, SMB_C_ts}. Допустим, вы получили (смешные номера здесь) {5000, 4800} и {5100, 5000}. Возьмите разницу между меткой времени сервера и печатью клиента (здесь 4800 - 5000 => -200) и добавьте к клиенту эпоху (здесь 5100 + (- 200) => 4900). Таким образом, клиент находится на 100 единиц позади сервера.
[Final редактировать]: (Обратите внимание, что у вас есть 3 часов, чтобы иметь дело с здесь:. SMB-х, серверы, и клиента)
Хотя это будет работать, задействованы только два такта. На сервере работает общий ресурс SMB. –