有人可以验证我是否正确理解 java RMI 吗?
如果我有:
public class Server extends UnicastRemoteObject
{
public Server() throws RemoteException
{
super();
if (System.getSecurityManager() == null)
{
System.setSecurityManager(new RMISecurityManager());
}
try
{
Naming.rebind("rmi://someAddress/someName" , this);
}
catch (MalformedURLException ex)
{
}
catch (ConnectException ex)
{
}
/* do sometnig else there */
}
}
这是否意味着如果有 100 个客户端连接,RMI 将创建该服务器的 100 个副本作为线程来为这些客户端提供便利(无需我进一步干预)?
最佳答案
不,如果连接了 100 个客户端,RMI 注册表将管理许多单独的线程,这些线程全部针对 Server
类的单个实例执行。
最有可能的是,将为每个客户端连接生成一个新线程,可能是多个线程,但永远不会创建 Server
的新实例。
关于java - RMI - 我说得对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716175/