Microsoft MVP성태의 닷넷 이야기
await 2번 [링크 복사], [링크+제목 복사],
조회: 14978
글쓴 사람
강성욱 (dnr2144 at gmail.com)
홈페이지
첨부 파일
 

안녕하세요. async / await를 공부하다가 이해가 안 돼서 질문드립니다. 제가 한 이해가 맞나 확인받고 싶습니다.

async 키워드를 쓴 메서드를 호출하는 스레드가 주 스레드라고 하겠습니다. 그럼 await 키워드가 나타나기 전까지의 명령은 주 스레드가 실행시키는 것이고 await 이후의 명령은 Task로 인해 스레드가 생성돼서 별도의 흐름으로 실행되는 게 맞습니까? 만약 그렇다면 하나의 메서드에서 await 가 두 개 이상 있다면 스레드 흐름도 두 개가 생기는 건가요? C# 7.1의 682페이지 내용이 이해가 잘 안 됩니다. 저는 메서드 내에서 await가 1개면 이해가 되는데 2개 이상이면 실행 흐름이 이해가 잘 안 됩니다....








[최초 등록일: ]
[최종 수정일: 3/27/2020]


비밀번호

댓글 작성자
 



2020-03-28 03시41분
주 스레드가 await 이전의 코드를 실행 중이다가, await을 만나게 되면 그 이후의 코드는, 1) 스레드 풀에 있던 스레드 2) 사용자가 일부러 만든 Task 3) 또는 주 스레드가 실행할 수 있습니다. 1 ~ 3번의 방법은 사용자가 지정할 수 있는데, 일반적으로 지정하지 않은 기본 값 상황이라면 1)번의 방법대로 선택된 스레드가 await 이후의 코드를 실행하게 됩니다.

이후 await이 몇 개가 나오던지에 상관없이 위의 규칙은 동일합니다.

(위의 답변을 읽고 여전히 이해가 안 된다면 또 그 부분에 대해서 질문을 남겨 주세요. ^^)
정성태

... 76  77  78  79  80  81  [82]  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
439태기7/25/200613943    답변글 [답변]: IE를 가로채서 그리고 싶을때..(재질문) [1]파일 다운로드1
435이영균7/21/200614626작그마한 스마트클라이언트 프로젝트를 진행하고 있습니다. [1]파일 다운로드1
431혁이7/19/200613307UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ파일 다운로드1
432정성태7/19/200613659    답변글 [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
433혁이7/20/200614498        답변글 [답변]: [답변]: UpdatePanel(Atlas)위의 SmartClient가 이벤트후 사라집니다. ㅜㅜ
434정성태7/20/200615334            답변글 [답변]: [답변]: [답변]: UpdatePanel(Atlas) 위의 SmartClient가 이벤트 후 사라집니다. ㅜㅜ [1]
429kwt7/12/200614589ActiveX 개발을 배우고 싶은데요 [3]
427이홍자7/11/200614827스마트 클라이언트 실행 시 그리드의 체크박스가 안보여요.. [1]
426정보문7/11/200615408액티브X 설치2 [1]
423이방은7/9/200614263리소스 임베디드 질문요.. [1]파일 다운로드1
422guest7/6/200613774COM+에서 풀링을 사용할 경우... [1]파일 다운로드1
424guest7/10/200614639    답변글 소스 코드 입니다. [1]
425guest7/11/200613918        답변글 다시 올립니다.파일 다운로드1
428정성태7/11/200613722            답변글 [답변]: 다시 올립니다.
421정보문7/6/200614283액티브X 설치 [1]
1354허재호11/12/201415020    답변글 [답변]: 액티브X 설치
418임대진7/4/200613547이럴적 있으세요?
419정성태7/4/200613745    답변글 [답변]: 이럴적 있으세요?
417이방은6/29/200613499[질문]2.0에서 웹리소스에 대해서 [2]
416박영일6/29/200613700CAS 설정여부 [1]
415김인학6/28/200614257스마트 클라이언트에서 웹서비스를 호출하고 있습니다. [1]
413김성호6/28/200613920IE프로그램문제... [2]
411이진형6/27/200614209어셈블리 네임 알아내기 [2]
414정성태6/28/200613313    답변글 [답변]: 어셈블리 네임 알아내기
410이재원6/26/200613471자바스크립트 스마트클라이언트 이벤트 호출 [3]
412이재원6/27/200613602    답변글 [답변]: 자바스크립트 스마트클라이언트 이벤트 호출
... 76  77  78  79  80  81  [82]  83  84  85  86  87  88  89  90  ...