Я подозреваю, что вызовы из отдельных потоков (> 15) негативно влияют на производительность. Есть ли лучший способ получить системное время в параллельных приложениях?
Если это действительно проблема, у вас может быть фоновый поток, хранящий текущее время в volatile. Или просто называйте это реже.
volatile
Просто небольшой совет:
Я прочитал от инженеров Google и других программистов, что лучше использовать System.nanotime. Например Джошуа Блох
Для интервала времени всегда используйте System.nanoTime вместо System.currentTimeMillis