2011-02-15 19:37:35 +00:00
|
|
|
package zutil.net.nio.worker.grid;
|
2009-02-26 17:10:57 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This interface is the thread that will do
|
|
|
|
|
* all the computation in the grid
|
|
|
|
|
*
|
|
|
|
|
* @author Ziver
|
|
|
|
|
*/
|
|
|
|
|
public abstract class GridThread implements Runnable{
|
|
|
|
|
/**
|
|
|
|
|
* The initial static and final data will be sent to this
|
|
|
|
|
* method.
|
|
|
|
|
*
|
|
|
|
|
* @param data is the static and or final data
|
|
|
|
|
*/
|
|
|
|
|
public abstract void setInitData(Object data);
|
|
|
|
|
|
|
|
|
|
public void run(){
|
|
|
|
|
while(true){
|
|
|
|
|
GridJob tmp = null;
|
|
|
|
|
try {
|
|
|
|
|
tmp = GridClient.getNextJob();
|
|
|
|
|
compute(tmp);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
if(tmp != null){
|
|
|
|
|
GridClient.jobError(tmp.jobID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Compute the given data and return
|
|
|
|
|
* @param data
|
|
|
|
|
*/
|
|
|
|
|
public abstract void compute(GridJob data) throws Exception;
|
|
|
|
|
}
|