대리인이 처음인데 다음 코드가 문제가되는지 확인하고 싶습니다. 코드 나는 공유 변수를 사용하지 않는 기록하지만 대리자의 새 인스턴스마다 생성되기 때문에, 나는 코드가 잘 작동합니다 가정입니다멀티 스레드 응용 프로그램에서 대리인
public delegate void delSaveData(string data1, string data2);
private static delSaveData _delSaveData;
static void Main(string[] args)
{
Thread td1 = new Thread(td1func);
Thread td2 = new Thread(td2func);
td1.Start();
td2.Start();
}
private static void td1func()
{
while(true)
{
// do some operation
_delSaveData= new delSaveData(SaveData);
_delSaveData("someValueFromtd1", "someValueFromtd1");
}
}
private static void td2func()
{
while(true)
{
// do some operation
_delSaveData= new delSaveData(SaveData);
_delSaveData("someValueFromtd2", "someValueFromtd2");
}
}
private static void SaveData(string test1, string test2)
{
//Save Data in database
}
에 따라 같은 공유 대리자를 사용했다. 내가 맞습니까? 작성된 위임 인스턴스 중 하나에서 문제가 발생하면 다른 인스턴스에 영향을 미치나요? 답변에 미리
감사합니다, 당신이 위임하는 핸들러 (추가 또는 제거)를 수정하지 않는 모든
네가 맞아, 왜 여기에 델리게이트가 필요한거야? 그냥 SaveData를 호출하면 될거야. – Jodrell
안녕하세요. 위임을 이해하는 데 필요한 테스트입니다. 물론 직접 함수를 호출 할 수 있습니다. – sam