RMI和多线程的一个问题

fullmoon525 2006-04-10 05:10:54
我将一个任务分成2个部分A和B,这个任务主要是计算的

我用通过使用rmi
fun(A)//这个是在本机上算
Remot.fun(B)//这个是在另外一台电脑上面算

结果效率差不多,是不是因为java的执行是顺序的啊,fun()执行完了,才执行Remot.fun()

后来我用多线程,把fun和Remot.fun都封到一个线程类里面去了 因为这2个操作都有一个返回结果
所以在线程里面设计了一个 gets()方法,得到run()计算的结果,

结果调用的时候就出问题了
t1,t2都是线程类的实例 在t1.start() 和 t2.start() 我用t1.gets()方法希望得到一个返回结果,结果返回的是null
...全文
666 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuLimin 2006-12-03
  • 打赏
  • 举报
回复
传个对象过去,运算完之后回call你的方法:)
victorpgx 2006-04-28
  • 打赏
  • 举报
回复
同步出现了问题,将run() 和 getS() synchronized,虽然丑陋了一点,但应该能解决问题。
zhmt 2006-04-28
  • 打赏
  • 举报
回复
在t1.start() 和 t2.start()之后
你至少也要等他们返回结果,这两个语句没有阻塞,
所以不能马上get
abpeng 2006-04-11
  • 打赏
  • 举报
回复
!!!!
fullmoon525 2006-04-11
  • 打赏
  • 举报
回复
哪位能指导一下啊。。。

第一:怎么从线程里面返回一个值,并且返回之前要保证run方法里面的程序运行完毕

第二:怎么通过rmi和线程模拟并行计算,要求2台电脑能够同时运行一个程序,假设运算程序和数据都已经准备好了
zengxftm 2006-04-11
  • 打赏
  • 举报
回复
采用多线程调用远程方法进行计算,思路是没问题的,的确可以提高运算效率,特别是在进行大量数据的计算的时候很有用;
但是你在线程间共享数据的时候有点问题,所以会返回null,建议你可以去看看java thread,考虑用另外一种数据共享的方式。
fullmoon525 2006-04-11
  • 打赏
  • 举报
回复
up一下。。
UnAgain 2006-04-10
  • 打赏
  • 举报
回复
你就别逻辑了,直接把代码贴出来好了。
fullmoon525 2006-04-10
  • 打赏
  • 举报
回复
上面有个)打错了
fullmoon525 2006-04-10
  • 打赏
  • 举报
回复
什么意思啊
class thread2 extends Thread{
int s
int a,b;
public thread2(int a, int b,int tag){
this.a=a;
this.b=b;
}

public void run(){

que();

}

public void que(){

if(tag==0) s=a+b;
}
else if(tag==1){s=a-b;
}

public String getS(){
return s;
}
}

我得线程逻辑就是这样得
调用start方法以后,在调用gets方法,得到得结果是空。。有什么办法解决得这问题呢
cuiyingfeng 2006-04-10
  • 打赏
  • 举报
回复
同时调用的话,都放在一个线程组里好了
yuzl32 2006-04-10
  • 打赏
  • 举报
回复
如果本地与远程调用都没有错的话,那就是你多线程写得有问题
fullmoon525 2006-04-10
  • 打赏
  • 举报
回复
为什么没有意义啊
假如一个计算任务,我分成2个部分,同时计算,返回一个结果,所用的时间,可能就少一些啊
yuzl32 2006-04-10
  • 打赏
  • 举报
回复
有意义吗?
fullmoon525 2006-04-10
  • 打赏
  • 举报
回复
CalBuffer c=Re_call()//这个Recall方法调用了一个rmi对象的
String qd1 = qdata.buffer(args);//这个调用的是本地方法
String qd2 =c.buffer(args);//调用的是另外一台电脑上的方法

这种方法调用rmi,好像效果一点都不明显 那应该怎么用rmi呢,我希望 两个buffer方法能够同时调用,这样才能节约时间
treeroot 2006-04-10
  • 打赏
  • 举报
回复
没看明白

62,633

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧