C#

C# Task

용성 2022. 1. 22. 19:49

System.Threading.Tasks

Task 클래스는 값을 반환 하지 않고 비동기적으로 실행 되는 단일 작업을 나타낸다.

 

속성

  • AsyncState
  • CompletedTask
  • CreationOptions
  • CurrentId
  • Exception
  • Factory
  • Id
  • IsCanceled
  • IsCompleted
  • IsCompletedSuccessfully
  • IsFaulted
  • Status

메서드

  • ContinueWith

     - Task가 완료될 때 비동기로 실행되는 연속 작업을 만든다.

  • Delay

     - 시간 지연 후 완료.

  • Dispose

     - Task 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제한다.

using (DisposedClass d = new DisposedClass())
- 한번 사용 후 폐기
using DiposedClass;
- 유지

     - 메모리관리 요런 느낌으로 Task.Dispose() 를 호출하는 것 같다.

  • FromCanceled
  • FromException
  • FromResult

     - Task<TResult> 반환될 값을 지정

  • GetAwaiter

     -  Task를 기다리는 데 사용되는 awaiter를 가져온다.

Task.Start()Task.Run(), Task.Factory.StartNew().

  • Run
  • Start

 

  • Wait

      - task가  끝날때까지 기다릴 수 있고 호출 thread는 block 됨

      - await 는 논블록 비동기, Wait()는 블록 비동기

/ 어떤 상황에서 골라 쓸지 매우 궁금하다 / 

 

  • RunSynchronously
  • WaitAll
  • WaitAny
  • WhenAll
  • WhenAny
  • Yield

결론 : 그렇다.. 이론만으로는 제대로 사용할 수 없다.

삽질 必

728x90

'C#' 카테고리의 다른 글

1.23 영상 강의(21~25) 내용 정리  (0) 2022.01.23
C# 코딩 규칙  (0) 2022.01.22
1.22 영상 강의(16~20) 내용 정리  (0) 2022.01.22
1.22 C# 오버로딩 오버라이딩  (0) 2022.01.22
1.21 영상 강의(11~15) 내용 정리  (0) 2022.01.21