From 48455f7eef1a2e77152a3743e41fa20e9c42f1a3 Mon Sep 17 00:00:00 2001 From: Peter Veentjer Date: Tue, 14 Jan 2025 13:43:31 +0200 Subject: [PATCH] Adds a new convenience constructor to SleepingIdleStrategy. The new constructor accepts a TimeUnit. --- .../org/agrona/concurrent/SleepingIdleStrategy.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java b/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java index 90ad1b92e..faee19b1e 100644 --- a/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java +++ b/agrona/src/main/java/org/agrona/concurrent/SleepingIdleStrategy.java @@ -15,6 +15,7 @@ */ package org.agrona.concurrent; +import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.LockSupport; /** @@ -54,6 +55,17 @@ public SleepingIdleStrategy(final long sleepPeriodNs) this.sleepPeriodNs = sleepPeriodNs; } + /** + * Constructed a new strategy that will sleep for a given period when idle. + * + * @param sleepPeriod the period for which the strategy will sleep when work count is 0. + * @param timeUnit the timeunit of the period. + */ + public SleepingIdleStrategy(final long sleepPeriod, final TimeUnit timeUnit) + { + this(timeUnit.toNanos(sleepPeriod)); + } + /** * {@inheritDoc} */