我正在编写Windows服务,并且正在寻找一种并行执行多个foreach循环的方法,其中每个循环都调用异步(TAP)方法.我最初尝试了以下代码,但由于Parallel.ForEach和async/await不兼容,因此无效.有谁知道是否有替代方法可以实现这一目标?
Parallel.ForEach(messagesByFromNumber, async messageGroup =>
{
foreach (var message in messageGroup)
{
await message.SendAsync();
}
});
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,由于SendAsync()的运行方式,foreach循环的每个副本必须按顺序执行; 换句话说,foreach循环不能同时/并行.