gpt4 book ai didi

c# - public static Task Run(Func 函数);

转载 作者:行者123 更新时间:2023-11-30 21:31:54 24 4
gpt4 key购买 nike

任何人都可以提供任何示例/代码片段以使用以下方法。

public static Task Run(Func<Task> function);

我想了解如何使用上述重载方法,但我没有在 web.xml 中找到任何代码。

据我了解,此方法需要 func delegate作为应该返回任务的输入参数,因此请提供一些代码片段。

谢谢,红酒

最佳答案

此重载通常用于将任务卸载到线程池线程。
假设您在控制台应用程序中编写了此方法:

    private static async Task DoSomeHeavyInitializationAsync()
{
// some heavy calculations;

// some async I/O (e.q. reading from database, file, etc);
await SomeMethodAsync(...);

// again some heavy calculations, async I/O, etc...
}

现在你想从Program.Main调用它, 并保持 Main响应式:如果用户不想等待应用程序初始化,他可以按 [enter] 并终止应用程序。

因此,您需要卸载任务以确保其代码不会在主线程上运行。 Task Run(Func<Task>)帮助你:

    static void Main(string[] args)
{
Task.Run(DoSomeHeavyInitializationAsync);

// do something else...

Console.ReadLine();
}

关于c# - public static Task Run(Func<Task> 函数);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713754/

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