클라이언트의 TCP 소켓 연결을 허용하는 Java 프로그램을 만들고 싶습니다. 클라이언트가 서버를 연결하자마자 해당 클라이언트를 처리 할 새 스레드를 만듭니다.
단일 코어 프로세서가있는 서버에 대해 우분투 VM을 실행하고 있다면 얼마나 많은 클라이언트를 지원할 수 있습니까?
또한 최대 스레드 수는 프로세서 수에 따라 다릅니 까?
클라이언트 처리를위한 서버 측 코드에 대한 최적화를 제안하려면 그렇게하십시오. 여기에 코드입니다 :최대 Java에서 소켓을 실행하는 스레드 수
SS = new ServerSocket(8080);
while(1) {
Socket S = SS.accept();
BufferedReader DIS = new BufferedReader(new InputStreamReader(S.getInputStream()));
PrintWriter DOS = new PrintWriter(S.getOutputStream(),true);
ServerThread CT = new ServerThread(S,DIS,DOS); // Class to handle client functions
Thread T = new Thread(CT);
T.start(); }
당신이 볼 수 있듯이, 고객의 더 많은 수의, 더 많은 스레드가 생성됩니다.
참조 : http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html –
또한 : http://docs.oracle.com/javase/tutorial/networking/index.html –
@ UsagiMiyamoto는 참조 문서에 감사합니다 –