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

📄 computeadd.java

📁 本程序是用java实现的一个计算机引擎,主要用了javaRMI技术.做的是一个基本的框架,可以进行扩展
💻 JAVA
字号:
package client;
import java.rmi.*;
import compute.*;
public class ComputeAdd {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		
		if (System.getSecurityManager() == null)
		{ 
			System.setSecurityManager(new RMISecurityManager());
			
		}
		
		try { 
			String name = "//162.105.146.223" + "/Compute";
			Compute comp = (Compute) Naming.lookup(name);
			int[] id = new int[10];
			int a,b;
			Add task;
			boolean[] flag = new boolean[10];
			//生成10个任务提交给计算引擎,任务的ID号存在id[]中
			for(int i=0;i<10;i++)
			{
				a = (int)(Math.random()*10);
				b = (int)(Math.random()*10);
				task = new Add(a,b);
				id[i] = (Integer) (comp.submitTask(task));
				System.out.println("a = "+a+" , b = "+b);
				System.out.println("submit task successed,your id is:"+id[i]);
				flag[i] = false;
				Thread.currentThread().sleep(100);
			}
			boolean complete = false;
			//每隔一段时间查询计算是否完成
			while(!complete)
			{
				int nonComNum = 0;
				for(int i=0;i<10;i++)
				{
					if(!flag[i])
					{
						nonComNum ++;
						Object res = comp.askTask(id[i]);
						if(res !=null )
						{
							flag[i] = true;
                			System.out.println("Task:"+id[i]+" completed,Result is "+(Integer)res);
						}
					}
					
				}
				if(nonComNum == 0)
					complete = true;
				Thread.currentThread().sleep(250);
			}

		} catch (Exception e) {
			System.err.println("ComputeAdd exception: " + e.getMessage());
			e.printStackTrace();
		}
	}

}

⌨️ 快捷键说明

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