Я делаю программу для проверки состояния серверов своей компании. Мои сервера инфор загрузят в DgvServer я использую цикл для проверки состояния серверов:MultiThread on For Loop C#
private void btnCheck_Click(object sender, EventArgs e)
{
try
{
string ip = "";
Ping ping = new System.Net.NetworkInformation.Ping();
PingReply pingreplay = null;
for (int i = 0; i < dgvServer.Rows.Count; i++)
{
//Get IP address
ip = dgvServer.Rows[i].Cells[1].Value.ToString();
pingreplay = ping.Send(ip,10000);
if (pingreplay.Status == IPStatus.Success)
{
//update status of server
dgvServer.Rows[i].Cells[4].Value = "Online";
}
else
//Update status of server
dgvServer.Rows[i].Cells[4].Value = "Offline";
}
}
catch(Exception ex)
{
MessageBox.show(ex.Message);
}
}
Это нормально, если все сервера в сети, но если какой-то сервер в автономном режиме, этот код взять на долгие времена, чтобы закончить. Поэтому я хочу использовать один поток для каждого цикла для проверки статуса каждого сервера. Я не использую параллель, потому что это программы .net 2.0. Пожалуйста, дайте мне совет по улучшению этого кода с помощью потока. Большое спасибо!
Он на .NET 2.0, поэтому он недоступен для него через .NET. –