var tokenSource = new CancellationTokenSource();
var token = tokenSource.Token;
Task.Run(() =>
{
while (true)
{
token.ThrowIfCancellationRequested();
Console.WriteLine($"[1] {DateTime.Now:mm:ss.fff}");
Thread.Sleep(1000);
}
}, token);
Task.Run(() =>
{
Thread.Sleep(5000);
Console.WriteLine($"[2] {DateTime.Now:mm:ss.fff}");
tokenSource.Cancel();
});
在Task.Run方法中,第二個引數CancellationToken加不加效果都一樣。
要取消還是得有一句"token.ThrowIfCancellationRequested();"。
也就是
Task.Run(action)
和
Task.Run(action,token)
有什么區別?
想知道Task.Run的第二個引數的作用是什么?通常在怎么場景下使用?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/204097.html
標籤:C#
