aQute.libg.forker
Class Forker<T>

java.lang.Object
  extended by aQute.libg.forker.Forker<T>
Type Parameters:
T -

public class Forker<T>
extends Object

A Forker is good in parallel scheduling tasks with dependencies. You can add tasks with doWhen(Collection, Object, Runnable). The collection is the list of dependencies, the object is the target, and the runnable is run to update the target. The runnable will only run when all its dependencies have ran their associated runnable.

Author:
aqute

Constructor Summary
Forker()
          Constructor
Forker(Executor executor)
          Constructor
 
Method Summary
 void cancel(long ms)
          Cancel the forker.
 void doWhen(Collection<? extends T> dependencies, T target, Runnable runnable)
          Schedule a job for execution when the dependencies are done of target are done.
 int getCount()
           
 void start(long ms)
           
 void sync(long ms)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Forker

public Forker(Executor executor)
Constructor

Parameters:
executor -

Forker

public Forker()
Constructor

Method Detail

doWhen

public void doWhen(Collection<? extends T> dependencies,
                   T target,
                   Runnable runnable)
Schedule a job for execution when the dependencies are done of target are done.

Parameters:
dependencies - the dependencies that must have run
target - the target, is removed from all the dependencies when it ran
runnable - the runnable to run

start

public void start(long ms)
           throws InterruptedException
Throws:
InterruptedException

sync

public void sync(long ms)
          throws InterruptedException
Throws:
InterruptedException

cancel

public void cancel(long ms)
            throws InterruptedException
Cancel the forker.

Throws:
InterruptedException

getCount

public int getCount()


Copyright © 2012 aQute SARL. All Rights Reserved.