선생님 안녕하세요.
4월까지 자바하다가 5월부터 C#을 사용하는데 비동기 패턴이 생각보다 어렵네요...
아래 질문 답변해주시면 정말 감사드립니다.
① Task.Run()이 Task를 리턴하는 것은 책임 연쇄 패턴이라고 볼 수 있나요?
② 만약 책임 연쇄패턴이 맞다면 Task의 continuation를 위해서 그렇게 설계했다고 보면 될까요?
③ Task 클래스는 TaskAwaiter 구조체의 Wrapper 클래스인가요?
④ TaskAwaiter 구조체를 Task 클래스로 Wrapped한 것은 캡슐화로 볼 수 있나요?
⑤ 만약 캡슐화가 맞다면 작업 결과, 예외 처리, 기타 정보 등을 포함시키기 위한 목적인가요?
⑥ 메서드가 Task 혹은 Task<TResult>를 반환한다는 것은
작업 결과나 혹은 예외가 포함된 Task 객체를 스레드 풀의 request queue에 큐잉한다는 뜻으로 해석해도 될까요?
⑦ request queue에서 작업을 가져오고 작업이 완료되면 다시 request queue에 다시 집어넣는다고 생각해도 될까요?
⑧ consuming code가 혹시 무엇인지 알 수 있을까요? 검색해도 명확한 뜻이 나오지 않았습니다....
⑩ awaitable object는 Task 혹은 Task<TResult>를 반환하는 놈이라고 봐도 될까요?
[최초 등록일: ]
[최종 수정일: 5/9/2022]