using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace CancellationTokenExperiments
{
class CancellationTokenTest
{
static void Main(string[] args)
{
CancellationTokenSource tokenSource = new CancellationTokenSource();
CancellationToken token = tokenSource.Token;
tokenSource.Cancel();
Task.Run(() => Console.WriteLine("Hello from Task"), token);
}
}
}
C#의 cancellationTokens 개념을 이해하려고합니다. 작업을 실행하기 전에 토큰을 확인했기 때문에 위의 코드는 "Hello from Task"를 인쇄하지 않는다는 것을 이해합니다.C#의 취소 토큰 이해
그러나 몇 가지 질문이 있습니다.
Task.Run(() => Console.WriteLine("Hello from Task"), token);
위의 문장은 무엇을 의미합니까? 의미에서 단순히 어떻게 Console.WriteLine("Hello from Task")
전화와는 다른가요? 토큰을 전달하여 Task
을 취소 할 수 있습니까? 또한 빈 괄호 ()
은 처음에 Task.Run
의 처음에 무엇을 의미합니까?
- 시간의 특정 인스턴스에서 실행을 중지 할 수 있도록 위의 코드를 어떻게 변경합니까?
"토큰을 전달하여 작업을 취소 할 수 있습니까?"- 아니요, 작업의 코드는 실행 중에 취소 토큰을 검사하고 취소가 요청되면 종료해야합니다. 취소 요청이 있기 때문에 작업이 마술처럼 중단되지는 않습니다. – Enigmativity
동일한 제목을 가지고 있더라도 실제로는 중복으로 표시된 것과 같은 질문이 아닙니다. 질문의 내용과 묻는 질문이 다릅니다. –