Junior — Middle
¿Puede explicar el concepto de token de cancelación en el contexto de la programación multihilo?
sobes.tech AI
Respuesta de la IA
El token de cancelación (Cancellation Token) en programación multihilo es un objeto que se utiliza para coordinar la cancelación de operaciones asíncronas o paralelas.
La idea principal: un hilo (o componente) puede solicitar la cancelación de una operación, y otros que están ejecutando esa operación pueden verificar periódicamente el estado del token y finalizar correctamente si se ha solicitado la cancelación.
En C#, esto se implementa mediante la clase CancellationToken y CancellationTokenSource:
CancellationTokenSourcecrea un token y puede señalizar la cancelación.CancellationTokense pasa a tareas o métodos que pueden verificarIsCancellationRequestedy reaccionar ante la cancelación.
Ejemplo:
var cts = new CancellationTokenSource();
var token = cts.Token;
Task.Run(() => {
while (!token.IsCancellationRequested)
{
// Realizar trabajo
}
// Limpieza y finalización
}, token);
// En algún lugar del código, se solicita la cancelación
cts.Cancel();
Esto permite interrumpir de manera segura y controlada operaciones largas o en segundo plano.