-patern Parallel.For, . , , parallelism , :
public void updateAllResults()
{
var tasks = PairList.Select(async (item) =>
{
var data = await Parse.JsonParse<PairResults>
.getJsonString("http://localhost:22354/" + item.Original).
.ConfigureAwait(false);
item.part1 = data.value;
});
Task.WaitAll(tasks.ToArray());
}
, winforms. Parallel.For, , WinForms. Task.WhenAll:
public async Task updateAllResults()
{
var tasks = PairList.Select(async (item) =>
{
var data = await Parse.JsonParse<PairResults>
.getJsonString("http://localhost:22354/" + item.Original)
.ConfigureAwait(false);
item.part1 = data.value;
});
await Task.WhenAll(tasks.ToArray());
}
async void button_Click(object s, EventArgs e)
{
this.button.Enabled = false;
try
{
await updateAllResults()
}
finally
{
this.button.Enabled = true;
}
}