gpt4 book ai didi

c# - 我有 3 个任务,我希望它们同时开始并并行运行

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:21 25 4
gpt4 key购买 nike

Task taskpro = new Task (delegate{codeblock});
Task taskbeds = new Task (delegate{codeblock});
Task taskpax = new Task (delegate{codeblock});

List<Task> TaskList = new List<Task>();
TaskList.Add(taskBeds);
TaskList.Add(taskPro);
TaskList.Add(taskPax);

Task.WaitAll(TaskList.ToArray());

在每个代码块中,我向不同的 API 发送请求。问题是,如果我单独发送请求并且我想尽量减少等待时间,API 会花费很多时间来返回响应。

最佳答案

首先,不要使用new Task。使用从异步方法返回的 Task,或者如果只有同步方法可用,请使用 Task.Run

之后,使用 Task.WhenAll 等待它们全部异步完成。

var tasks = new List<Task<T>>();
tasks.Add(() => DoSomethingAsync());
tasks.Add(() => DoSomethingElseAsync());
var results = await Task.WhenAll(tasks);

这是并发,不是并行。这意味着它们可以同时运行。

关于c# - 我有 3 个任务,我希望它们同时开始并并行运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51221594/

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