gpt4 book ai didi

c# - 异步触发多个任务并等待它们完成

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

<分区>

我有一种情况,我想异步触发用户定义数量的任务并等待所有任务完成。简化后,这就是我要处理的内容:

[TestMethod]
public async Task Start() {
var numDrivers = 2;
while (numDrivers != 0) {
var rnd = new Random();
var r = rnd.Next(itemArray.Count);
var target = itemArray[r];
var proxyDriver = GetProxiedDriver();
Task.Run(() => HandleIntro(proxyDriver, target));
numDrivers--;
}
}

在某些情况下 - 这些是 Selenium 网络驱动程序正在运行以运行一些 UI 测试。我看到浏览器弹出,但一旦最后一个 Task.Run() 完成,所有执行都会停止。如何触发 n 驱动程序异步运行,同时等待它们全部完成后再停止执行?

我已经尝试过 await Task.Run(() => HandleIntro(proxyDriver, target)); 但这等待任务并且它们不会同时运行。

处理介绍:

private async Task HandleIntro(FirefoxDriver driver, string target) {
// do stuff
}

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