나는 하나의 하드 디스크에서 데이터를 읽거나 쓸 수 있도록 TCP 소켓을 연결하는 수천 개의 클라이언트로부터 요청을받는 서버를 가지고있다.파일 읽기/쓰기를 java의 하드 드라이브에 대기시키는 방법은 무엇입니까?
나는 모든 HD 파일을 수행하는 스레드를 어떻게 든 필요로한다는 것을 알고있다.이 경우에는 IO가되지만 소켓 연결 스레드의 모든 요청을 하나의 마스터 하드 드라이브 관리자에게 전달하여 어떤 순서로이 작업을 수행 할 수있다. 연결된 소켓 스레드로 데이터를 돌리시겠습니까?
이러한 방식으로 작업을 대기열로 보내는 방법이 있습니까?
왜 HD 스레드가 필요하다고 생각하십니까? 그들은 모두 읽기/다른 파일을 작성하는 경우 연결 스레드에서 인라인 만 수행하십시오. 당신은 여기에 자신 만의 막대를 만들고 있습니다. – EJP
기계식 하드 드라이브는 한 번에 한 위치에서만 읽거나 쓸 수 있었기 때문에 들어오는 클라이언트 요청에서 20,000 개의 스레드를 생성하여 다른 파일을 동시에 만들거나 보았을 때 효과가 없었습니다. 아마도 나는 크게 착각하고 있습니까? – iForgotMyLogin
작동합니다. 실제로 큐가 있습니다. 다른 것을 추가 할 필요가 없습니다. – EJP