Я использую TestNG для параллельного запуска тестов и хочу быть осторожным с возможными проблемами синхронизации с вспомогательными классами и утилитами.Насколько мне известно, каждый тест - это собственный объект, прозрачно созданный организатором теста.Таким образом, мне не нужно беспокоиться о синхронизации чего-либо нестатического, поскольку это будет объект, созданный в потоке, и, следовательно, не видимый для других.
Однако, когда я выполняю вызовы этоговне функции журнала я написал, это нужно синхронизировать?Есть ли возможное состояние гонки, когда thread-1 входит и устанавливает threadName = "Thread-1", затем thread-2 входит и устанавливает ту же переменную threadName = "Thread-2", а затем thread-1 возвращает обратно и печатает"--foo | Тема-2"?Нужно ли сделать этот метод синхронизированным?
public static void log(String _message) {
String threadName = Thread.currentThread().getName();
log.println("--" + _message + " | Thread: " + threadName);
}