gpt4 book ai didi

c# - 多次调用 CancellationTokenSource.Cancel 是否安全?

转载 作者:行者123 更新时间:2023-12-04 01:24:18 24 4
gpt4 key购买 nike

例如,如果我想取消 Dispose() 中的某个操作调用(其中 can be called multiple times ),然后我需要写

public void Dispose()
{
if (!cancellationTokenSource.IsCancellationRequested)
{
cancellationTokenSource.Cancel();
}
}

或者更简单的就足够了
public void Dispose()
{
cancellationTokenSource.Cancel();
}

(欢迎您评论在 Dispose 方法中取消事物是否明智,但这不是本问题的重点。)

最佳答案

是的。

但前提是CancellationTokenSource尚未处置。

来自 reference source :

ThrowIfDisposed();

// ...

// fast-path test to check if Notify has been called previously
if (IsCancellationRequested)
return;

关于c# - 多次调用 CancellationTokenSource.Cancel 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52824945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com