Я использую следующий код для гарантированной переменной startTime
, установленной только один раз:
public class Processor
{
private Date startTime;
public void doProcess()
{
if(startTime == null)
synchronized(this)
{
if(startTime == null)
{
startTime = new Date();
}
}
// do somethings
}
}
Я гарантирую, что этот код для переменной создается только один раз для любого количества вызовов метода process
.
Мой вопрос:
Есть ли альтернативный подход к моему коду, который будет более кратким? (для образца удалить операторы if
и synchronized
)