workerrun.java

来自「分布式计算平台P2HP-1的源代码;P2HP-1是基于P2P的高性能计算平台」· Java 代码 · 共 142 行

JAVA
142
字号
/*
 * Created on 2005-3-22
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package cn.edu.hust.cgcl.biogrid.worker;

import java.io.File;

/**
 * @author Administrator
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class WorkerRun extends Thread{
	private Worker worker;
	private Integer synFlag;
	
	/*
     * default construction function.
     */
	public WorkerRun(Integer synFlag)
	{
		this.synFlag=synFlag;
	}
	
	/*
     * the function hold two para.
     * String MonitorIpAddr="202.114.14.133";
     * int MonitorPort=6000;
     * 
     * String workSpace; //程序安装(工作)的本地目录,可以由用户输入,否则取默认(当前工作)目录
     */
    public WorkerRun(String MonitorIpAddr,int MonitorPort,String workSpace,Integer synFlag,boolean logIsActive)
    {
    	Parameter.MonitorIpAddr=MonitorIpAddr;
    	Parameter.MonitorPort=MonitorPort;
    	Parameter.workSpace=workSpace;
    	this.synFlag=synFlag;
    	Parameter.programPath=Parameter.workSpace+Parameter.separator+Parameter.programPathName;
    	Parameter.dataPath=Parameter.workSpace+Parameter.separator+Parameter.dataPathName;
    	Parameter.resultPath=Parameter.workSpace+Parameter.separator+Parameter.resultPathName;
    	Parameter.WorkerLogIsActive=logIsActive;
    	File f=new File(Parameter.programPath);
    	if(!f.exists())
    		f.mkdirs();
    	f=new File(Parameter.dataPath);
    	if(!f.exists())
    		f.mkdirs();
    	f=new File(Parameter.resultPath);
    	if(!f.exists())
    		f.mkdirs();
    }
    
    /*
     * String MonitorIpAddr="202.114.14.133";
     * int MonitorPort=6000;
     *
     * String  workSpace="D:\\workSpace";//用户输入worker的工作目录;
     * String userID="worker";//用户ID
     */
    public WorkerRun(String MonitorIpAddr,int MonitorPort,String workSpace,String userID,Integer synFlag,boolean logIsActive)
    {
    	Parameter.MonitorIpAddr=MonitorIpAddr;
    	Parameter.MonitorPort=MonitorPort;
    	Parameter.workSpace=workSpace;
    	Parameter.userID=userID;
    	this.synFlag=synFlag;
    	Parameter.programPath=Parameter.workSpace+Parameter.separator+Parameter.programPathName;
    	Parameter.dataPath=Parameter.workSpace+Parameter.separator+Parameter.dataPathName;
    	Parameter.resultPath=Parameter.workSpace+Parameter.separator+Parameter.resultPathName;
    	Parameter.WorkerLogIsActive=logIsActive;
    	File f=new File(Parameter.programPath);
    	if(!f.exists())
    		f.mkdirs();
    	f=new File(Parameter.dataPath);
    	if(!f.exists())
    		f.mkdirs();
    	f=new File(Parameter.resultPath);
    	if(!f.exists())
    		f.mkdirs();
    }
    
    /*
     * String MonitorIpAddr="202.114.14.133";
     * int MonitorPort=6000;
     *
     * String  workSpace="D:\\workSpace";//用户输入worker的工作目录;
     * String userID="worker";//用户ID
     * int workeSpaceFlag;//if 0 任务计算完毕不删除工作目录里的内容;
     *                   //if 1 任务计算完毕后删除工作目录里的内容;
     */
    public WorkerRun(String MonitorIpAddr,int MonitorPort,String workSpace,String userID,Integer synFlag,int workSpaceFlag,boolean logIsActive)
    {
    	Parameter.MonitorIpAddr=MonitorIpAddr;
    	Parameter.MonitorPort=MonitorPort;
    	Parameter.workSpace=workSpace;
    	Parameter.userID=userID;
    	Parameter.workSpaceFlag=workSpaceFlag;
    	this.synFlag=synFlag;
    	Parameter.programPath=Parameter.workSpace+Parameter.separator+Parameter.programPathName;
    	Parameter.dataPath=Parameter.workSpace+Parameter.separator+Parameter.dataPathName;
    	Parameter.resultPath=Parameter.workSpace+Parameter.separator+Parameter.resultPathName;
    	Parameter.WorkerLogIsActive=logIsActive;
    	File f=new File(Parameter.programPath);
    	if(!f.exists())
    		f.mkdirs();
    	f=new File(Parameter.dataPath);
    	if(!f.exists())
    		f.mkdirs();
    	f=new File(Parameter.resultPath);
    	if(!f.exists())
    		f.mkdirs();
    }
    
	public void run()
	{
		System.out.print("begin\n");
        worker = new Worker(synFlag);
        worker.start();
	}
	
	public void quit()
	{		
		worker.interrupt();
	}
	
	/*
	 *  if code=-1 ; The joinning failed.
	 *  if code=-2 ; The joinning failed, the fixed monitor doesn't exit! 
	 *  if code=-3 ; The joinning failed, the master monitor doesn't exit!
	 *  if code=-4 ; The joinning failed, the dispatcher doesn't exit!
	 *  
	 */
	public int getExceptionCode()
	{
		return ExceptionCode.exceptionCode;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?