var cts = new CancellationTokenSource(); cancellationTokenSources.Add(cts); var t = Task.Run(() => { if (!cts.IsCancellationRequested) { //do something } }, cts.Token); cts.Token.Register(() => { //线程终止触发 });