gpt4 book ai didi

c# - 我如何做等效的 TaskCompletionSource

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

我想要一个 EventWaitHandle -like Task,我在一端等待它,然后将其设置为在另一端完成。 TaskCompletionSource几乎是我想要的,但它需要我传递一个值。我可以只使用一个虚拟值,但在我这样做之前,我想我会看看是否有更正确的解决方案。

重点是能用Task.WaitAny .

最佳答案

我在源代码中看到的最常见的场景就是创建一个空的 struct这相当于什么都没有。或使用 bool作为假人:

internal struct Void { }

进而:
var tcs = new TaskCompletionSource<Void>();

我在 BCL source code 中看到了这种常见模式还有:
// Special internal struct that we use to signify that we are not interested in
// a Task<VoidTaskResult>'s result.
internal struct VoidTaskResult { }

关于c# - 我如何做等效的 TaskCompletionSource<nothing>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31287559/

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