2011-04-01 5 views
1

http://msdn.microsoft.com/en-us/library/bbx2eya8.aspx에서이 소켓 유형은 하나 이상의 스레드를 사용하지만, 비동기 소켓은 단일 콜백 또는 단일 스레드 (또는 제한된 수의 스레드)에서 실행될 수 있습니다. 똑똑한 스케줄러 같이 작동하는 상태 머신..net의 비동기 소켓은 threadless입니까?

제 질문은 비동기 소켓이 연결 수만큼의 스레드를 생성하는지 또는 얼마나 많은 연결이 응용 프로그램을 처리하는지에 관계없이 생성되는 스레드 수의 상한이 있는지 여부입니다.

답변

2

예 아니요. 모든 실제 작업은 TCP/IP 드라이버 스택에 의해 수행됩니다. 불완전한 여러 IRP 요청을 처리하는 데 문제가 없습니다. 둘 중 하나가 완료되면 APC가 스레드 풀 스레드에서 시작되어 완료 콜백을 호출합니다. 기본 운영체제 객체는 "I/O 완료 포트"라고 불리우며 이에 대한 자세한 내용은 SDK article에서 확인할 수 있습니다.

1

비동기 소켓은 스레드 풀을 사용한다는 점에서 링크에 명시되어 있으므로 정의 상 특정 수의 스레드로 제한됩니다.

관련 문제