Tentei realizar o código abaixo utilizando um formulário do windows form só que interface gráfica continua sem responder enquanto as tarefas rodam. Alguém saberia dizer se é devido a alguma característica do windows form ou se está faltando algo no código abaixo? Agradeço.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var taskSchedulerUI = TaskScheduler.FromCurrentSynchronizationContext();
IList<int> listInt = new List<int>();
for (int i = 0; i < 411100; i++)
{
listInt.Add(i);
}
var tarefas=listInt.Select(item=>
{
return Task.Factory.StartNew(() =>
{ return item; }
);
}).ToArray();
Task.WhenAll(tarefas)
.ContinueWith((task) => {
textBox1.Text+= String.Join("\r\n", task.Result);
},taskSchedulerUI);
}
}