RMI服务器如何响应多个RMI客户端调用?

How does RMI server responds to multiple RMI client call?

我构建了一个基于文件下载器 RMI 客户端-服务器的应用程序。在那方面,我不了解不同客户的工作。这些文件位于服务器端,RMI 在其端有等效的代理服务器(称为存根)。我为这个应用程序使用了 10 个客户端和 1 个服务器。

Question 1- My question is when multiple clients simultaneously make RMI invocation after lookup from the registry, in what order does client seed/provide them the file? Means the underlying serving algorithm --- Is it Round Robin Algorithm OR FIFO algorithm OR some other?

我无法弄清楚这一点,当我执行我的代码时,我只看到相应的文件正在同时下载,就像正在复制文件而不是下载文件一样。

Question 2- How could a single server serve so many clients and in what order such that the files are getting simultaneously downloaded?

此外,我的服务器端方法没有同步,不需要同步!

Question 1- My question is when multiple clients simultaneously make RMI invocation after lookup from the registry, in what order does client seed/provide them the file?

不分先后。他们同时进行。

Means the underlying serving algorithm --- Is it Round Robin Algorithm

没有

OR FIFO algorithm

没有

OR some other?

没有。没有排序。

I am not able to figure this out, when I execute my code I just see that the respective files are being simultaneously downloaded as if files are being copied instead of downloading.

我不知道'copied instead of downloading'是什么意思,但是'simultaneously'描述的情况很准确。

Question 2- How could a single server serve so many clients and in what order such that the files are getting simultaneously downloaded?

通过多线程,或熟练使用多路复用 I/O,或异步 I/O。它没有指定。没有具体说明。你不能假设的一件事是它是单线程的并且以任何方式顺序化。

Also, my server side method isn't synchronised, there is no need of synchronisation!

又一个假设,又一次完全无效。 RMI 规范中没有任何内容可以证明这种信念是正确的。您不能假定 RMI 远程对象是单线程的。