this 예에서 비동기 요청이 만들어지고 완료되면 다른 비동기 요청이 해당 콜백에서 수행됩니다. 두 번째 콜백이 완료되면 첫 번째 스레드 (주)에서 어떻게 알릴 수 있습니까? 일반적으로 IAsyncResult를 모니터링하지만 두 번째 요청의 생성은 첫 번째 스레드의 범위에서 수행되지 않으므로 액세스 할 수 없습니다.비동기 요청에 대한 AsyncCallback이 완료된 경우 어떻게 알림을받을 수 있습니까?
답변
두 번째 콜백은 BeginGetResponse
대신 GetResponse
을 사용하여 동기식으로 만들 수 있습니다. 그러면 IAsyncResult를 모니터링 할 수 있습니다.
또는 당신은 또한 그들이 끝에서 메인 스레드를 유지하기 위해 사용하는 것과 동일한 방법을 사용할 수 있습니다 : 첫 번째 콜백
allDone.WaitOne();
에서 사용 후 다른
private static ManualResetEvent allDone = new ManualResetEvent(false);
를 작성하고 전화
allDone.Set();
두 번째 콜백에서
그건 아주 좋은 지적입니다, 고마워요. 호기심에서 벗어나 뮤텍스 및 기타 등등과 같은 비동기 요청에 스레드가 적용되는 것과 같은 규칙이 적용되는지 여부를 알 수 있습니까? – Ford
모든 동일한 규칙이 적용된다고 생각합니다. 비동기 호출은 수동으로 수행되는 것이 아니라 스레드 풀에서 스레드로 생성됩니다. –
콜백은 완료된 첫 번째 스레드에 신호를 보내야합니다. 예를 들어 이벤트를 사용하여 그렇게 할 수 있습니다. TaskCompletionSource
은 친숙한 대체품입니다.
- 1. 그룹의 마지막 비동기 호출이 완료된 시점을 어떻게 알 수 있습니까?
- 2. dispatch_async 작업이 완료되면 어떻게 알림을받을 수 있습니까?
- 3. 항목을 선택하지 않은 경우 QItemSelectionModel에서 어떻게 알림을받을 수 있습니까?
- 4. COM에서 클라이언트가 죽으면 어떻게 알림을받을 수 있습니까?
- 5. 비동기 요청에 대한 시간 프로필러
- 6. 네트워크 활동이 있으면 어떻게 알림을받을 수 있습니까?
- 7. log4j가 실패하면 어떻게 알림을받을 수 있습니까?
- 8. SharpSVN - 보류중인 업데이트에 대한 알림을받을 수 있습니까?
- 9. 프로젝트의 항목이 변경되면 어떻게 알림을받을 수 있습니까?
- 10. ListView가 채워질 때 어떻게 알림을받을 수 있습니까?
- 11. 완료된 이벤트가있는 비동기 메서드
- 12. delegate.BeginInvoke를 사용할 때 AsyncCallback이 실행되는 스레드를 지정할 수 있습니까?
- 13. 비동기 HTTP 요청에 대한 Wince 소켓 예외
- 14. iframe의로드가 완료된 것을 어떻게 알 수 있습니까?
- 15. https 요청에 대한 기본 페이지를 어떻게 설정할 수 있습니까?
- 16. 비동기 요청에 대한 양식 인증 구현
- 17. 비동기 요청에 대한 NSURLConnection 상태 코드 6
- 18. Silverlight : 요소를 이동할 때 어떻게 알림을받을 수 있습니까?
- 19. UIView가 표시 될 때 어떻게 알림을받을 수 있습니까?
- 20. 사용자가 facebook.com에서 로그 아웃하면 어떻게 알림을받을 수 있습니까?
- 21. 비동기 요청에 대한 HTML 데이터를 작성하는 대체 방법
- 22. C# : Socket.BeginReceive에서 AsyncCallback이 호출되지 않습니다.
- 23. 친구 요청에 대한 실시간 업데이트를받을 수 있습니까?
- 24. 스프링 빈이 애플리케이션 컨텍스트 초기화 오류에 대한 알림을받을 수 있습니까?
- 25. asynccallback이 호출 된 후 Socket.BeginConnect가 예외를 throw 할 수 있습니까?
- 26. 다중 jQuery ajax 호출; 어떻게 콜백을 요청에 연결할 수 있습니까?
- 27. window.close (javascript)로 창이 닫힐 때 어떻게 알림을받을 수 있습니까?
- 28. 핸들러가 작업을 완료하면 알림을받을 수 있습니까? 방법?
- 29. GAE 애플리케이션의 오류에 대한 이메일 알림을받을 수 있습니까?
- 30. Android 전화에 도착한 모든 이메일에 대한 알림을받을 수 있습니까?
사용중인 .NET 버전은 무엇입니까? TPL에 액세스 할 수 있습니까? – Servy
Mono 2.6은 .net 3.5와 대략 동일합니다. – Ford