gpt4 book ai didi

c# - .NET 4.5 中不完整的异步任务有何影响?

转载 作者:太空狗 更新时间:2023-10-29 21:39:30 26 4
gpt4 key购买 nike

假设您有一个 Web 处理程序调用这样的异步方法:

var foo = await SomeMethod();

而且,由于编码不当(没有 CancellationToken、没有超时等),SomeMethod 永远不会完成。沮丧的用户反过来在她的浏览器上按下“停止”并前往酒吧。

假设这种情况发生在很多用户身上。

我知道我可以写一个超时来防止它永远等待,但如果我不这样做......会发生什么?这是内存泄漏吗?最终会被清理干净吗?最坏的情况是什么?

最佳答案

And SomeMethod never returns. The user cancels the request and goes to the pub.

它们根本不是一回事。

如果 SomeMethod 永远不会完成,那么你就有了内存泄漏。 You should never, ever, ever write code that does this.

OTOH,如果用户取消请求(取消 CancellationToken),则方法完成,可能会出现 OperationCanceledException

关于c# - .NET 4.5 中不完整的异步任务有何影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21059269/

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