회사 서버의 상태를 확인하는 프로그램을 만들고 있습니다. 내 서버 DgvServer I는 서버의 상태를 확인하는 루프에 사용 에로드됩니다 INFOR :For 루프의 MultiThread 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을 통해 사용할 수 없습니다. –