Microsoft MVP성태의 닷넷 이야기
p654 의 비동기 관련 설명 [링크 복사], [링크+제목 복사]
조회: 5742
글쓴 사람
윤종현 (oscar.yoon at gmail.com)
홈페이지
첨부 파일
 
p654 의 비동기 처리 확인을 위해 스레드 ID를 출력하는 내용이 있는데요,

byte[] buf = new byte[fs.Length];

Console.WriteLine("Before ReadAsync: " + Thread.CurrentThread.ManagedThreadId);

await fs.ReadAsync(buf, 0, buf.Length);

Console.WriteLine("Before ReadAsync: " + Thread.CurrentThread.ManagedThreadId);

string txt = Encoding.UTF8.GetString(buf);
Console.WritLine(txt);

이 코드 설명을 await 호출 전과 후의 스레드 ID가 다르다라고 하셨는데, 좀 이상해서 직접 실행해봤더니, 같게 나오더라고요. fs.ReadAsync 만 다른 스레드에서 호출되고, 이후의 실행은 fs.ReadAsync 가 처리되고, 원래 호출 스레드(여기서는 메인 스레드)에서 실행되어야 하지 않을까요? 그렇지 않으면, await 호출 이후의 아래 쪽 내용들에서 접근하는 메인 스레드의 모든 데이터에 대해 락을 걸어야 할텐데요.





donaricano-btn



[최초 등록일: ]
[최종 수정일: 1/10/2014]


비밀번호

댓글 쓴 사람
 



2014-01-10 01시20분
혹시 테스트를 Winform(또는 WPF) 프로그램에서 하셨나요?
정성태
2014-01-21 05시56분
이상하네요. 저는 ThreadId 값이 다르게 출력되던데요.
Nari Kim
2014-01-21 09시27분
책에서와 같이 콘솔 응용 프로그램에서 하는 경우 스레드 ID가 다르게 나오는데요. WPF/WinForm 등에서 테스트하면 스레드 ID가 동일하게 나올 수 있습니다. 그에 대해서는 다음의 글을 참고하세요.

async/await 사용시 hang 문제가 발생하는 경우
; http://www.sysnet.pe.kr/2/0/1541
정성태

... [46]  47  48  49  50  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1112이대근12/18/201210087[질문] odp.net 배포 관련 궁금한게 있어서 질문좀 드릴게요 [3]
1111나그넹!12/13/20127420안녕하세요. 파일전송에 관련해서 궁금한것좀 여쭈고싶네요. [1]
1110김동현12/11/20129334안녕하세요 닷넷 신입개발자입니다 Clickonce 질문좀 하겠습니다. [6]파일 다운로드1
1109김성우12/5/20126730WCF IIS 호스팅 관련하여 질문 드립니다. [1]
1123윤용한3/13/20135771    답변글 [답변]: WCF IIS 호스팅 관련하여 질문 드립니다.
1107우라미윰11/22/201211638안녕하세요. RSA공개키 알고리즘에 나와있는 글을 보고 응용을 해야 하는데 막히는 부분이 있어서 질문드립니다. [3]파일 다운로드1
1106초급11/21/20126784WCF Server 인증서 및 Client 인증서 문의 [1]
1104hon11/17/20126626VS2008에서 디버그/릴리즈 환경중에 디버그 환경의 빌드시 배열의 자동 초기화 라는 것에 대해서 궁금합니다. [3]
1102최년호11/15/20128315[탭 브라우저의 윈도우 핸들 구하기] 예제에서 활성화 방법 [1]
1100박진영11/7/201212430[긴급] 코드 액세스 보안 정책(CASPOL.exe) 설정해도 SmartClient 보안에러가 발생합니다. [6]
1099Hyeyoung Kang10/22/20128379php에서 c file compile [4]
1095이지은10/8/201224387중단점이 현재 적중되지 않았습니다 [2]
1094고민남10/6/20126289NScreen 에 대해 어떻게 생각하십니까? [1]
1093이지수10/6/20125741vbs [1]
1092김성수9/20/20127063안녕하세요? MS Windows server 2008 R2 에서 IIS7 의 SSL 설정시에 에러 해결좀 도와주세요 [1]
1089한상욱9/13/20126606azure에 관한 질문입니다. [1]
1088김영대9/12/20128729DirectX.AudioVideoPlayBack 참조하여 wav 재생기를 제작하여 SmartClient 를 이용하여 aspx 페이지에 Embed 하는 과정의 질문 사항입니다. [2]
1087한우주9/10/20129630SSL 모든 웹페이지에 적용해야하나요? [2]
1086한우주9/4/20128067SSL 인증서 범용으로 사용하기 [3]
1085한우주9/4/20126978개발환경구성 18.3.1 에 대한 문의 [2]파일 다운로드1
1084김종하9/3/20127946team foundation express 2012에서 새 프로젝트 생성... [3]
1082김대경8/23/20126918windows2008 에서 ActiveX 사용 시 문제점. [3]
1091김대경9/20/20127016    답변글 [답변]: windows2008 에서 ActiveX 사용 시 문제점. [2]파일 다운로드1
1081SeongSu Yun8/20/20129118WCF 파일 업,다운로드 문제 [2]
1080배동선8/13/20127575정품 라이센스 인증 개발에 대해 조언을 구하고 싶습니다 [4]
1079송준호8/11/20126347basicHttpBinding stream 전송에 관하여 질문드립니다. [1]
... [46]  47  48  49  50  51  52  53  54  55  56  57  58  59  60  ...