public class LongPauser extends Object implements Pauser, TimingPauser
Pauser.SleepyWarningMIN_PROCESSORS, SLEEPY| Constructor and Description |
|---|
LongPauser(int minBusy,
int minCount,
long minTime,
long maxTime,
TimeUnit timeUnit)
first it will busy wait, then it will yield, then sleep for a small amount of time, then
increases to a large amount of time.
|
| Modifier and Type | Method and Description |
|---|---|
long |
countPaused()
Returns the number of times the pauser has checked for
completion.
|
void |
pause()
Pauses the current thread.
|
void |
pause(long timeout,
TimeUnit timeUnit)
use
TimingPauser.pause(long, TimeUnit) instead |
void |
reset()
Resets the pauser's internal state back to the most aggressive setting.
|
long |
timePaused()
Returns the paused time so far in milliseconds.
|
void |
unpause()
Try to cancel the pausing if it is pausing.
|
public LongPauser(int minBusy,
int minCount,
long minTime,
long maxTime,
@NotNull
TimeUnit timeUnit)
minBusy - the min number of times it will go around doing nothing, after this is
reached it will then start to yieldminCount - the number of times it will yield, before it starts to sleepminTime - the amount of time to sleep ( initially )maxTime - the amount of time subsequently to sleeptimeUnit - the unit of the minTime and maxTimepublic void reset()
PauserCall this if you just did some work.
public void pause()
PauserDepending on the implementation this could do nothing (busy spin), yield, sleep, ...
Call this if no work was done.
public void pause(long timeout,
@NotNull
TimeUnit timeUnit)
throws TimeoutException
PauserTimingPauser.pause(long, TimeUnit) insteadpause in interface Pauserpause in interface TimingPausertimeout - timeouttimeUnit - unitTimeoutException - thrown if timeout passespublic void unpause()
PauserNo guarantee is made as to if unpause will actually have an effect.
public long timePaused()
PausertimePaused in interface Pauserpublic long countPaused()
PausercountPaused in interface PauserCopyright © 2020. All rights reserved.