2017-03-03 40 views
1

如果Java客戶端的數量是2000並且他們調用遠程方法 在RMI服務器端執行多少線程?RMI服務器端的最大線程數

RMI serverside中的線程數是否有最大限制?

+0

是的,限制是在服務器屬性中設置的,請檢查服務器文檔,傳入請求的服務的線程池大小是多少。 –

+0

@KrzysztofCichocki不,默認情況下沒有最大值。你可以通過一個系統屬性強加一個,從Java 6. – EJP

回答

1

如果java客戶端的數量是2000並且他們調用遠程方法在RMI服務器端執行多少個線程?

截至2000

是否有RMI服務器端的線程數的任何上限?

沒有指定的限制。具體的實現可能有這樣的限制,但Sun/Oracle的實現不是其中之一。您可以通過sun.rmi.transport.tcp.maxConnectionThreads在Sun/Oracle JRE中將設置爲最大值,但默認情況下不存在一個。

+0

謝謝。如果沒有客戶端會從2000增加到5000甚至更多,那麼我們知道Thread消耗堆內存,那麼是否會發生任何OutOfMemory異常?如果是的話,這個異常是在RMI客戶端程序中捕獲的嗎? – msaif

+0

它*應該*在客戶端顯示爲'ServerError',其原因是OutOfMemoryError。 – EJP