-
C# - CancellationTokenC# 2022. 1. 24. 16:33반응형
[CancellationToken]
- CancellationToken은 비동기 작업을 취소하는 용도로 사용
- 작업 취소와 관련된 타입은 CancellationTokenSource 클래스와 CancellationToken 구조체
- CancellationTokenSource 클래스는 Cancellation Token을 생성하고 Cancel 요청을 Cancellation Token들에게 보내는 일을 담당
- CancellationToken은 현재 Cancel 상태를 모니터링하는 여러 Listener들에 의해 사용되는 구조체
[CancellationToken 사용 절차]
1. CancellationTokenSource 필드를 선언
-> private CancellationTokenSource cancelTokenSource;
2. CancellationTokenSource 객체를 생성
-> cancelTokenSource = new CancellationTokenSource();
3. 비동기 작업 메서드 안에서 작업이 취소되었는지를 체크하는 코드를 작성
-> if (cancelTokenSource.Token.IsCancellationRequested)
{
return null;
}
4. 취소 버튼이 눌러지면 CancellationTokenSource의 Cancel() 메서드를 호출해 작업 취소를 요청
private void btnCancel_Click(object sender, EventArgs e)
{
cancelTokenSource.Cancel();
}
참고 : https://www.csharpstudy.com/Threads/taskOfT.aspx
300x250'C#' 카테고리의 다른 글
Visual Studio: Warning IDE0006 Error encountered while loading the project 경고 해결 (0) 2022.02.11 Invoke, BeginInvoke, 크로스 스레드 예외 (0) 2022.01.24 Task와 async, await 비교/관계 (0) 2022.01.24 c# Error - NullReferenceException (0) 2022.01.24 C# - Managed DLL, Unmanaged DLL (0) 2022.01.24