최근 문제가 되고 있는 서버 스레드 중단 문제 해결
일반적인 경우:
1.응용 서버 열기 사용자 다운로드 알림 끊기 다운로드량 감소 알림 N이 오랫동안 활동하지 않아was가 설정한 밸브 값을 초과하여 방출됩니다.
2.응용 서버 개설 - 사용자 다운로드 - 메시지 라인 끊기 - 다운로드량이 계속 증가하거나 상승하고, 라인 끊기가 점점 많아지고 있습니다. was는 라인 밸브 값을 자동으로 조정합니다. 조정할 수 없습니다. 끊습니다.
검색을 통해 기본적인 확인 문제는 사용자가 브라우저로 파일을 다운로드할 때 네트워크가 순식간에 끊기거나 다른 원인으로 인해 이상이 발생했지만 다운로드 라인이 방출되지 않았기 때문이다.브라우저를 열고 다운로드할 수 있으며, 절반까지 내려가면 브라우저를 끄고 이 현상을 모의할 수 있습니다.
byte[] b = new byte[1024];
...
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
}
...
로 수정
byte[] b = new byte[1024];
...
while ((len = in.read(b)) != -1) {
Thread.sleep(50);
Thread.yield();
out.write(b, 0, len);
}
...
일부 사람들이 건의하는 방법은 서버에서 라인에 시간 제한을 하고 시간을 초과하면 끄는 것이다.그러나 이렇게 하면 비교적 낮은 인터넷 속도로 큰 파일을 다운로드하는 사용자는 또 영향을 받을 수 있다.따라서 위의 방법은 스레드 처리를 한동안 멈추고 CPU 제어권을 양보하여 막히지 않도록 하는 것이다.
이 방법은 아마도 가장 좋은 방법은 아닐 것이다. 그러나 적어도 비교적 적합한 것이다. 현재 서버에서 라인이 끊기는 현상은 이미 크게 줄어들었고 추가로 한 마디를 추가했다
if (request.getHeader("Range") != null) {
ErrShow(request, response, " !");
return;
}
이렇게 하면 다운로드 도구를 사용하는 다중 스레드 다운로드를 피할 수 있다.
어떤 분이 더 좋은 해석이 있으신지 말씀해 주시고 함께 토론해 주십시오.
방금 수호 라인으로 시간 초과 라인을 처리하는 해결 방안을 보았지만, 또 다른 기술 주관자가 극력 반대했다. 왜 사용할 수 없는지 설명해 줄 수 있는 사람은 누구입니까?수호 라인은 어떤 상황에서 사용할 수 있습니까?감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 다중 스레드를 순차적으로 실행하는 몇 가지 방법 요약Java 다중 스레드를 순차적으로 실행하는 몇 가지 방법 요약 동료는 무심결에 이 문제를 제기하고 두 가지 방법을 직접 실천했다.물론 더 좋은 방법이 있을 거야. 방법 1 이런 방법은 비교적 흔히 볼 수 있는 해결 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.