UI 스레드가 더 이상 차단되지 않을 때 다음 코드가 5 초 후에 WebRequests를 실행하는 이유는 무엇입니까? Thread.Sleep
은 UI Thread에 속하며, WebRequests의 인스턴스화와 호출은 ThreadPool의 Thread 내에서 발생합니다. UI 스레드가 차단되는 동안 나는 백그라운드 스레드에서 WebRequest 클래스를 실행하기 위해 작성해야 어떤 코드UI 스레드가 차단 된 동안 백그라운드 스레드에서 WebRequest 실행
Loaded += (sender, args) => {
for (int i = 0; i < 5; i++) {
ThreadPool.QueueUserWorkItem(state => {
var request = WebRequest.CreateHttp("http://google.com");
request.BeginGetResponse(ar => Debug.WriteLine("Request finished"), null);
});
Thread.Sleep(1000);
}
};
?
편집 : ... 자세히 말하자면. 이 요청은 백그라운드 스레드 이후 10 초 후에 실행되는 이유는 무엇입니까?
Loaded += (sender, args) => {
ThreadPool.QueueUserWorkItem(state => {
var request = WebRequest.CreateHttp("http://google.com");
request.BeginGetResponse(ar => Debug.WriteLine("Request finished"), null);
});
Thread.Sleep(10000);
};
고맙습니다. 나는 당신의 해결책이 효과가 있다는 것을 알고 있지만 그것은 내가 찾고있는 것이 아닙니다. 내 편집 된 질문을 참조하십시오. – djsolid