Microsoft MVP성태의 닷넷 이야기
TaskAwaiter 구현 질문 입니다. [링크 복사], [링크+제목 복사],
조회: 16318
글쓴 사람
C#스터디
홈페이지
첨부 파일
 

ICriticalNotifyCompletion 및 INotifyCompletion

위 두개의 인터페이스를 상속 받아서 TaskAwaiter 구조체를 구현 하였습니다.

TaskAwaiter 구조체는 GetAwaiter() 메서드를 통해 사용되고


자체적으로 커스텀된 Task를 구현하였는데요

궁금한 것이

ICriticalNotifyCompletion, INotifyCompletion 둘중 어떤 것을 상속받아 구현해야 하는지 궁금합니다.

일단 두개 다 상속받아 처리했을땐 항상 UnsafeOnCompleted(Action continuation) 메서드만 호출되는 것 같았습니다.

또한 INotifyCompletion만 구현 했을 경우는 당현하겠지만 OnCompleted(Action continuation) 메서드만 호출 되었구요

어떤 상황에서 둘다 사용해야 하는지 또는 어떤걸 사용 해야 하는지 궁금합니다.








[최초 등록일: ]
[최종 수정일: 1/12/2022]


비밀번호

댓글 작성자
 



2022-01-12 04시20분
도움말을 보면,

ICriticalNotifyCompletion.UnsafeOnCompleted(Action) Method
; https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.icriticalnotifycompletion.unsafeoncompleted

다음과 같은 주석을 볼 수 있습니다.

Unlike OnCompleted, UnsafeOnCompleted doesn't have to propagate ExecutionContext information.

그리고 저 말의 의미는 아래의 글을 읽어보시면 이해가 될 것입니다.

HttpContext.Current를 통해 이해하는 CallContext와 ExecutionContext
; https://www.sysnet.pe.kr/2/0/1608#unsafe_tp

그런데, 대단하시군요. ^^ 저는 예제 삼아 구현은 했어도,

C# - await을 Task 타입이 아닌 사용자 정의 타입에 적용하는 방법
; https://www.sysnet.pe.kr/2/0/11456

그걸 현실적으로 사용해 보려는 노력까지는 안 했습니다.
정성태

... 46  47  48  49  50  51  52  53  54  55  56  57  58  [59]  60  ...
NoWriterDateCnt.TitleFile(s)
1190정진호12/10/201319952비동기로 실행할수 있도록 Custom Attribute 를 만들고 싶습니다. [1]
1189Youn...12/10/201320343책을 사기전에 궁금한것이 있습니다. [1]
1188이민석12/5/201321651ocx 를 C#에서 마샬링관련 질문입니다.. [2]파일 다운로드1
1187이성환12/3/201322929WPF WebBrowser control의 자식 창이 close 되기 전 Navgate 재호출 문제 [2]파일 다운로드1
1186박종혁12/2/201321151책의 예제 중에 result 변수가 할당 되었지만 사용되지 않았다고 오류가 납니다!! [1]
1185박은희11/27/201323166멀티바이트로 개발한 프로그램을 유니코드로 변경시 쉽게 처리 하는법 [2]파일 다운로드1
1183박현수11/20/201319988WCF에서 web.config appsetting 읽기 [1]
1184박현수11/20/201321844    답변글 [답변]: WCF에서 web.config appsetting 읽기 [3]파일 다운로드1
1182유창우11/16/201330891자마린이 궁금... [8]
1181허관11/11/201320159책 샀습니다! [1]
1180김형지11/6/201324603안녕하십니까. 프로그램이 실행되지 않아 여쭙고자 합니다ㅠ [1]파일 다운로드1
1179이민석11/4/201324674[긴급질문] [in,out] 배열을 C# 에서 C/C++ 로 넘기는 방법 - 두번째 이야기 관련 질문.. [6]파일 다운로드1
1178박진영11/1/201324078[급질문] IIS 하위 가상폴더 구성 문의 [4]
1177Jeon...10/28/201320315안녕하세요~ 어머니께 물어서 사이트를 찾아왔어요 [2]
1176김태훈10/25/201320675AxWebBrowser에 대해 질문드립니다. [1]
1175서경희10/20/201325757netscape 지원이 되지 않는다는 문구.. [2]파일 다운로드1
1174임동찬10/16/201325175프리징 현상에 대한 고민 [5]
1173김재영10/8/201319157인터페이스에 대해 기초적 질문이 있습니다. [2]파일 다운로드1
1172박진영10/2/201322105웹사이트 연결시 AJAX 어셈블리 오류 문의드립니다. [5]파일 다운로드1
1171링거8/30/201330695ClickOnce 업데이트 문제. [4]
1170임동찬8/28/201321551비동기적 이벤트 핸들링 방법 [2]
1167나종식8/20/201320207win7 에서 LSP 가 DNS Client 에 인젝션 안되는 문제 [6]
1165임동찬8/19/201319573오류 발생시 로깅 문제.. [3]
1164박철8/19/201320282모바일 게임서버를 작성 하려면 무엇부터 시작하여야 하나요? [2]
1163안연준8/2/201319493음... 안녕하세요 ^^ 윈도우즈 폼에 대해서 잠시 물어볼께요 [3]
1162박진영7/23/2013178991개의 PC에서 동일사이트 접속제한을 어떻게 하죠? [1]
... 46  47  48  49  50  51  52  53  54  55  56  57  58  [59]  60  ...