gpt4 book ai didi

c# - 为什么 TaskFactory.StartNew 方法不是通用的?

转载 作者:太空狗 更新时间:2023-10-29 17:48:56 25 4
gpt4 key购买 nike

在 .NET 4.0 中使用 TPL 启动新的仅产生副作用的任务(即:不返回任何结果的任务)的惯用方法是使用以下 API:

Task Task.Factory.StartNew(Action<object>, object)   

但是为什么这个API的签名不是这样的

Task Task.Factory.StartNew<T>(Action<T>, T) 

或者像这样

Task Task.Factory.StartNew<T>(T, Action<T>) 

技术原因还是其他原因?

最佳答案

好的,现在我正确地理解了这个问题:)

我相信这是因为这是一个 direct replacement for ThreadPool.QueueUserWorkItem .我确实同意这看起来有点奇怪...但是如果您无论如何都在使用 lambda 表达式,使用确实采用状态参数的版本可能更容易(即Action 而不是 Action<object> ) 并预先捕获您感兴趣的值。如果您分别指定值和函数,这没有帮助:(

关于c# - 为什么 TaskFactory.StartNew 方法不是通用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1840078/

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