다른 스레드에서 threadPool을 사용하여 URL을 다운로드하는 응용 프로그램이 있지만 최근에 HttpWebRequest.GetResponse()가 한 스레드에서만 작동한다는 기사 (http://www.codeproject.com/KB/IP/Crawler.aspx)를 읽었습니다. 스레드가 해당 스레드를 기다리고 있습니다. 먼저 사실인지 알고 싶습니까? 내 스레드 중 어떤 스레드가 실제로 상태와 함께 다운로드되는지 어떻게 모니터링 할 수 있습니까?어떤 스레드가 URL을 다운로드하고 있는지 모니터링
1
A
답변
1
나는 HttpWebRequest.GetResponse가 다른 스레드를 차단할 것이라고 생각하지 않지만, Fiddler과 같은 도구를 사용하여 쉽게 확인할 수 있습니다. 피 들러를 실행하고 프로그램을 실행할 수 있습니다. 귀하의 프로그램이 그것을 작성하자마자 요청이 Fiddler에 나타나고, 동시 적으로 또는 하나씩 하나씩 빨리 결정할 수 있습니다.
1
예, GetResponse는 서버가 응답하거나 요청 시간 제한이 발생할 때만 반환 할 수있는 차단 호출 (MSDN 확인)입니다. 그런 다음 상태 코드를 확인하고 GetResponseStream을 사용하여 반환하는 콘텐츠 다운로드를 시작합니다. 이처럼 :
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == 200)
{
Stream content = response.GetResponseStream();
// Read the content and report the downloading progress...
...
}
+0
Ehsan이 GetResponse가 현재 스레드를 차단하는지에 대해 걱정하지 않는다고 생각합니다. 다른 스레드에서 병렬 다운로드를 불가능하게 만드는 GetResponse 호출을 차단할 것이라고 우려하고 있습니다. – VinayC
관련 문제
- 1. 어떤 Java 스레드가 잠금을 보유하고 있는지 프로그램 적으로 결정
- 2. pthread 스레드가 블로킹되어 있는지 확인하십시오.
- 3. 스레드가 Gui 컨텍스트에 있는지 확인하십시오.
- 4. Android : 어떤 스레드가 기본 메소드입니까?
- 5. gdb에서 어떤 스레드가 단언 되었습니까?
- 6. 스레드가 C에서 얼마나 오래 살아 있는지 #
- 7. 특정 스레드가 살아 있는지 알 수 있습니까?
- 8. 스레드가 이벤트를 기다리고 있는지 확인하는 방법은 무엇입니까?
- 9. 다른 프로세스의 스레드가 잠드고 있는지 확인
- 10. 방금이 URL을 다운로드하고 싶지만 오류가 발생합니다. ... 유니 코드 .. (파이썬)
- 11. 제 실어에 어떤 문제가 있는지 말해주세요!
- 12. Java 애플릿 : 어떤 스레드가 수명주기 후크를 호출합니까?
- 13. 대기중인 스레드가 어떤 모니터인지 보는 방법은 무엇입니까?
- 14. PHP : 사용자가 현재 파일을 다운로드하고 있는지 확인하는 방법?
- 15. PThread 모니터링
- 16. 어떤 BroadcastReceivers가 등록되어 있는지 찾으십니까?
- 17. 어떤 포트가 사용되고 있는지 확인하십시오.
- 18. 어떤 DLL이 메모리에 있는지 확인합니다.
- 19. 내 SimpleDB 도메인을 만들려면 어떤 URL을 사용해야합니까?
- 20. 웹에서 오디오를 다운로드하고 재생하십시오.
- 21. JCS 캐시 사용 모니터링
- 22. 스레드가 잠자고있는 동안 프로세스를 종료합니다.
- 23. 스레드가
- 24. .net 스레드 모니터링
- 25. MSMQ 모니터링
- 26. 디렉토리 모니터링
- 27. Java 내에서 Java 모니터링
- 28. 모니터링 파일
- 29. Java의 스레드 풀에 사용 가능한 스레드가 있는지 확인하는 방법
- 30. 하나의 스레드가 다른 스레드에서 어떻게 죽을 수 있는지
, 피들러가 표시되지 않는 원인이되는 요청하는 인스턴스에서 실행되는 예 instcode 답변에 대한 내 댓글에 정확히 내가, 내가 피들러를 실행 해요하지만 어떻게 내가 그것에 대해 확신 할 수 알아야 할 것입니다 시간은 – Ehsan
입니다. 다운로드가 적어도 몇 초는 걸릴 것으로 생각합니다. 따라서 병렬 요청이 가능하다는 것을 입증하는 여러 동시 요청을 피 들러에서보아야합니다. Fiddler에서는 통계 탭에서 요청 시간과 종료 시간을 알려주고, 타임 라인 탭에서는 여러 요청 (피들러가 호출하는 세션)을 결합하여 시간 선을 표시 할 수 있습니다. 여러 다운로드 요청을 선택하고 시간 표시 막대 탭을보십시오. – VinayC