想象一下,我有一个每秒创建 1000 个实体的进程。对于这些实体中的每一个,我称之为 setter:
newEntity.setDate(new Date());
1) 2 个实体是否有可能收到相同的日期?或者可以安全地假设我确实获得了日期字段的唯一标识符效果?
2)如果问题#1的答案是:“是” - 让我们做一个小调整:让我们创建一个函数:
public static synchronized Date getDate() {
return new Date();
}
它现在可以工作吗?
newEntity.setDate(getDate());
3) 怎么样
System.nanoTime()?
编辑 4) 怎么样:
public static synchronized Date getDate() {
Thread.Sleep(1000);
return new Date();
}
谢谢。