uk.org.toot.audio.server
Class YieldTimingStrategy

java.lang.Object
  extended by uk.org.toot.audio.server.YieldTimingStrategy
All Implemented Interfaces:
AudioTimingStrategy

public class YieldTimingStrategy
extends java.lang.Object
implements AudioTimingStrategy

An AudioTimingStategy which uses Thread.yield() and runs with priority Thread.NORM_PRIORITY+1 to avoid blocking other threads excessively. In practice this strategy is no better than the efficient SleepTimingStrategy and all strategies are at the whim of Garbage Collection.


Field Summary
 
Fields inherited from interface uk.org.toot.audio.server.AudioTimingStrategy
ONE_MILLION
 
Constructor Summary
YieldTimingStrategy()
           
 
Method Summary
 void block(long nowNanos, long blockNanos)
          Block (don't return) for blockNanos.
 int getThreadPriority()
          Return the required Thread priority for the timing strategy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

YieldTimingStrategy

public YieldTimingStrategy()
Method Detail

getThreadPriority

public int getThreadPriority()
Description copied from interface: AudioTimingStrategy
Return the required Thread priority for the timing strategy.

Specified by:
getThreadPriority in interface AudioTimingStrategy

block

public void block(long nowNanos,
                  long blockNanos)
Description copied from interface: AudioTimingStrategy
Block (don't return) for blockNanos. nowNanos is supplied as a convenience.

Specified by:
block in interface AudioTimingStrategy