샘플 코드는 아래 : 그들은 같은 변수를 사용하고 있기 때문에동일한 변수 이름을 다른 BackgroundWorker 스레드에 재사용 할 수 있습니까?
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
string var1 = "sample 1";
//display in UI var1
string var1 = "sample 1.1";
//display in UI var1
}
private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
{
string var1 = "sample 2";
//display in UI var1
string var1 = "sample 2.1";
//display in UI var1
}
private void backgroundWorker3_DoWork(object sender, DoWorkEventArgs e)
{
string var1 = "sample 3";
//display in UI var1
string var1 = "sample 3.1";
//display in UI var1
}
그것은 스레드가 둔화의 원인이됩니까? 그렇지 않으면 값이 항상 변경되기 때문에 UI에 잘못된 값이 표시됩니까? 내 프로그램에는 많은 스레드가 있으므로 잠재적 인 예상치 못한 결과가 걱정됩니다.
어떤 의미에서 동일한 변수를 사용하고 있습니까? 그리고 어떤 가치가 변화하고 있습니까? –
당신이 묻는 것이 명확하지 않습니다. 표시하는 각 스레드에는 현재 다른 곳에서는 사용되지 않는 로컬 문자열 변수가 있습니다. – mnistic
죄송합니다. 코딩을 편집했습니다. – user107257