3
CancellationTokenSource
還處理任何小孩CancellationTokenRegistration
通過Token.Register()
獲得的物品?或者我必須單獨處理每個註冊?Dispostion of CancellationTokenSource及其子小孩CancellationTokenRegistration
例1:
async Task GoAsync(CancellationToken ct1, CancellationToken ct2)
{
using (var cts = CancellationTokenSource.CreateLinkedTokenSource(ct1, ct2))
{
cts.Token.Register(() => Debug.Print("cancelled"), false)
await Task.Delay(1000, cts.Token);
}
}
例2:
async Task GoAsync(CancellationToken ct1, CancellationToken ct2)
{
using (var cts = CancellationTokenSource.CreateLinkedTokenSource(ct1, ct2))
{
using (cts.Token.Register(() => Debug.Print("cancelled"), false))
{
await Task.Delay(1000, cts.Token);
}
}
}