39 lines
806 B
Java
39 lines
806 B
Java
|
|
package zutil.network.nio.worker.grid;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 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;
|
||
|
|
}
|