在C#中,可以使用TaskScheduler類來調度任務。任務取消是一個常見的需求,可以通過以下幾種方式來取消任務:
CancellationTokenSource cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
Task task = Task.Run(() =>
{
while (!token.IsCancellationRequested)
{
// 執行任務邏輯
}
}, token);
// 取消任務
cts.Cancel();
Task task = Task.Run(() =>
{
// 執行任務邏輯
});
if (!task.Wait(TimeSpan.FromSeconds(5)))
{
task.Cancel();
}
TaskCompletionSource<int> tcs = new TaskCompletionSource<int>();
Task task = tcs.Task;
// 在需要取消任務的地方
tcs.TrySetCanceled();
以上是幾種常見的取消任務的方法,根據具體的需求和場景選擇合適的方法來取消任務。