本地方法调用是否等待 java RMI 中的远程 return 值?

Does local method call wait for remote return value in java RMI?

我有一个关于本地和远程方法如何在 Java RMI 中协作的问题。 这是理想情况:

localClass.setValue(server.getValue());

localClass.setValue(..) 是等待来自服务器的 return 值,还是我必须在本地使用某种同步来确保它? 如果服务器需要 5 秒来执行会发生什么情况 getValue()?

客户端等待 5 秒,如果您想设置超时异常,您必须自己完成,就像 [=10 中已经建议的那样=]个问题。

不完全是。

参数在调用方法之前从左到右求值。

因此 localClass.setValue()server.getValue() 返回的参数值可用之前甚至不会被调用。所以 客户端 会一直等待,然后 然后 调用 localClass.setValue()。等待的不是 setValue(),而是存根对 server.getValue() 的调用。

您不必自己做任何事情。