在并发编程中,System.currentTimeMillis() 方法通常不推荐使用,因为它并不是线程安全的。多个线程同时调用该方法可能会得到相同的时间戳,因此在并发环境下可能会产生数据竞争和不确定性的结果。
相反,推荐使用更为线程安全的替代方法,如使用java.util.concurrent包中的类来获取当前时间戳,比如使用Instant类获取当前时间戳:
Instant.now().toEpochMilli()
另外,如果需要高精度的时间戳,也可以考虑使用System.nanoTime() 方法来获取纳秒级的时间戳。需要根据具体的需求来选择合适的方法来获取时间戳,确保线程安全和准确性。