📄 computeadd.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 + -