我正在使用RMI来实现一些分布式算法,并且由于我们正在传输相当大的对象,所以我希望有一些关于RMI何时通过网络传输串行化对象的精确度。使用Java RMI时,是否通过网络传输序列化对象?
假设我有以下方法的Remote类。
class MyServer extends Remote {
public synchronized void foo (Bar bar) {
...
Thread.wait();
...
}
}
现在,我有两个(或更多)RMI客户端调用MyServer.foo方法。 当客户端1调用它时,它将被阻止在Thread.wait()。然后,客户端2个呼叫FOO和它被阻止,因为客户端1仍处于FOO方法,该方法是同步的。
现在,问题是:什么时候吧客户端通过网络传输的参数?只有一次客户端2实际上可以输入foo方法或之前,当它被阻止?
红利问题:这是(传递对象的时间)是由RMI规范强制实施的行为还是此实现特定的行为?
此代码甚至没有编译。不清楚你在问什么。 – EJP 2017-07-05 03:38:08