public class UniqueMicroTimeProvider extends Object implements TimeProvider
TimeProvider implementation that ensures unique timestamps across threads within a single process.
It provides time in milliseconds, microseconds, and nanoseconds while ensuring that the time value is unique
even across rapid successive calls.
This implementation is particularly useful in environments where unique time stamps are critical and the application might request them at a high rate.
| Modifier and Type | Field and Description |
|---|---|
static UniqueMicroTimeProvider |
INSTANCE |
| Constructor and Description |
|---|
UniqueMicroTimeProvider()
Constructs a new UniqueMicroTimeProvider.
|
| Modifier and Type | Method and Description |
|---|---|
long |
currentTimeMicros()
Retrieves the current time in microseconds, ensuring uniqueness across threads.
|
long |
currentTimeMillis()
Retrieves the current time in milliseconds, ensuring uniqueness across threads.
|
long |
currentTimeNanos()
Retrieves the current time in nanoseconds, ensuring uniqueness across threads.
|
UniqueMicroTimeProvider |
provider(TimeProvider provider)
Sets the underlying time provider for this instance and initializes the last time value.
|
public static final UniqueMicroTimeProvider INSTANCE
public UniqueMicroTimeProvider()
This constructor initializes the time provider with zero. New instances are typically created for testing purposes, as this class is stateful and maintains the last time value issued.
public UniqueMicroTimeProvider provider(TimeProvider provider)
provider - The TimeProvider to use for time calculations.UniqueMicroTimeProvider instance for fluent method chaining.public long currentTimeMillis()
currentTimeMillis in interface TimeProviderpublic long currentTimeMicros()
currentTimeMicros in interface TimeProviderpublic long currentTimeNanos()
currentTimeNanos in interface TimeProviderCopyright © 2024. All rights reserved.