gpt4 book ai didi

具有一次性参数和异步等待的 C# 递归

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:12 28 4
gpt4 key购买 nike

如果异步方法包含需要释放的参数,递归调用异步方法是否安全?

public async Task<bool> ConnectAsync(CancellationTokenSource cancellationTokenSource)
{
using CancellationTokenSource token = new CancellationTokenSource();
await ConnectAsync(token).ConfigureAwait(false);
}

最佳答案

它是安全的,因为控件将始终返回到创建它的方法的实例。所以只要你:

  1. 使用 using 语句或手动调用 Dispose(),并且
  2. 等待 来电

然后对象将被正确处理,而不是在使用之前。

但是,与所有递归一样,您需要注意不要以 stack overflow 结束。 .完全按照您编写的方法,该方法将以堆栈溢出结束。

关于具有一次性参数和异步等待的 C# 递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58769227/

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