簡體   English   中英

RMI-我做對了嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM