[英]Why do I get an AccessControlException while using RMI from an applet?
[英]RMI - do I get it right?
有人可以驗證我是否正確理解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
的新實例。
這是否意味着如果有100個客戶端連接,RMI會將該服務器的100個副本創建為線程以便利那些客戶端(無需我進一步干預)?
沒有“將這個服務器的100個副本創建為線程”這樣的事情。 創建服務器的任何實例,當它需要調用服務器的方法,RMI,創建多線程。 服務器中所需的任何同步取決於您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.