Тот факт, что SimpleDateFormat
не является потокобезопасным, не означает, что вы не можете его использовать.Это означает только то, что вы не должны использовать один (потенциально, но не обязательно static
) экземпляр, доступ к которому осуществляется сразу из нескольких потоков.
Вместо этого просто убедитесь, что вы создали новый SimpleDateFormat
для каждой темы.Экземпляры, созданные как локальные переменные внутри метода, безопасны по определению, поскольку к ним нельзя получить доступ ни из каких параллельных потоков.
Вы могли бы захотеть взглянуть на класс ThreadLocal
, хотяЯ бы порекомендовал просто создать новый экземпляр там, где он вам нужен.Конечно, вы можете где-нибудь определить определение формата как static final String DATE_FORMAT_PATTERN = "...";
и использовать его для каждого нового экземпляра.