computeengine.java

来自「本程序是用java实现的一个计算机引擎,主要用了javaRMI技术.做的是一个基」· Java 代码 · 共 51 行

JAVA
51
字号
package engine;
import java.rmi.*;
import java.rmi.server.*; 
import compute.*;
public class ComputeEngine extends UnicastRemoteObject implements Compute{

	int id = 0;
	taskList task_list;
	compteTask com;
	/*
	 * 构造函数
	 */
	public ComputeEngine() throws RemoteException
	{ 
		super();
		System.out.println("run ComputeEngine ...");
		task_list = new taskList();
		com = new compteTask(task_list);
	}	
	
	/*
	 * 处理客户端的任务查询,判断任务是否执行完毕
	 * 若执行完毕则返回执行结果并将任务从任务队列中删除,否则返回null
	 */
	public Object askTask(int id) throws RemoteException {
		// TODO Auto-generated method stub
		System.out.println("client "+id + "ask result ...");
		if(task_list.isComplete(id)==0)
		{
			Object o = task_list.task_list.get(id).getResult();
			System.out.println("the result is "+(Integer)o);
			task_list.task_list.remove(id);
			return o;
		}
		System.out.println("the result hasn't compute out.");
		return null;
	}
	/*
	 * 接收客户端提交的任务,返回给其一个ID
	 */
	public int submitTask(Task t) throws RemoteException {
		// TODO Auto-generated method stub
		if(!com.isAlive())
			com.start();
		id ++;
		task_list.pushTask(id, t);
		System.out.println("client submit a task, give him the id: "+id);
		return id;
	}
}

⌨️ 快捷键说明

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