Task强制终止
你需要 CancellationTokenSource cts,并且在你的Task中调用cts.ThrowIfCancellationRequested();
在需要强制终止线程的时候,只需要调用cts.Cancel();
CancellationTokenSource cts;
void Init()
{
cts = new CancellationTokenSource();
MyTask(cts.Token);
}
async Task MyTask(CancellationToken cts)
{
cts.ThrowIfCancellationRequested();
//
}
void StopMyTask()
{
cts.Cancel();
}
在Task结束,若要追加其他Task或方法,MyTask(cts.Token).ContinueWith(OnMyTaskOver);
void OnMyTaskOver(Task t)
{
}