Junior — Middle
Pode explicar o conceito de token de cancelamento no contexto da programação multithread?
sobes.tech IA
Resposta da IA
O token de cancelamento (Cancellation Token) na programação multithread é um objeto utilizado para coordenar o cancelamento de operações assíncronas ou paralelas.
Ideia principal: uma thread (ou componente) pode solicitar o cancelamento de uma operação, e outras que estão executando essa operação podem verificar periodicamente o estado do token e terminar corretamente se o cancelamento for solicitado.
Em C#, isso é implementado através da classe CancellationToken e CancellationTokenSource:
CancellationTokenSourcecria um token e pode sinalizar o cancelamento.CancellationTokené passado para tarefas ou métodos que podem verificarIsCancellationRequestede reagir ao cancelamento.
Exemplo:
var cts = new CancellationTokenSource();
var token = cts.Token;
Task.Run(() => {
while (!token.IsCancellationRequested)
{
// Executar trabalho
}
// Limpeza e finalização
}, token);
// Em algum lugar do código, solicitar cancelamento
cts.Cancel();
Isso permite interromper de forma segura e controlada operações longas ou em segundo plano.