From 957c11b9715ea527817fcd47680fab87a956a89a Mon Sep 17 00:00:00 2001 From: Peter Veentjer <alarmnummer@gmail.com> 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..c747a9bb2 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 sleepPeriod. + */ + public SleepingIdleStrategy(final long sleepPeriod, final TimeUnit timeUnit) + { + this(timeUnit.toNanos(sleepPeriod)); + } + /** * {@inheritDoc} */