⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workerrun.java

📁 分布式计算平台P2HP-1的源代码;P2HP-1是基于P2P的高性能计算平台
💻 JAVA
字号:
/*
 * 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -