1

我在两个不同的进程中有两个客户端,它们通过 RMI 与服务器进行通信。

我的问题是:如果两个客户端同时调用服务器的存根会发生什么?

谢谢你的时间,我

4

2 回答 2

3

本教程演示了 RMI 服务器的线程特性(参见任务 7.1)。他们引用了 RMI 规范:

由 RMI 运行时分派到远程对象实现(服务器)的方法可能会也可能不会在单独的线程中执行。来自不同客户端虚拟机的调用将在不同的线程中执行。在同一台客户端机器上,不能保证每个方法都会在单独的线程中运行

因此来自不同客户端的调用将导致通过服务器中的不同线程执行。

于 2009-08-19T14:44:50.247 回答
1

默认情况下没有什么不好的——它与同时从两个线程调用任何其他对象的方法完全相同。1 服务器到许多客户端模型是 RMI 等网络协议的用途。

如果需要,对服务器内任何共享数据的访问都需要通过同步块进行管理。这取决于服务器在做什么。

于 2009-08-19T14:23:42.587 回答