私はデリゲートに慣れていないので、次のコードで問題が発生するかどうかを確認したいと思います。私が書いたコードは共有変数を使用していませんが、次のように共有デリゲートを使用しています
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
}
デリゲートの新しいインスタンスが毎回作成されるため、コードは正常に機能するはずです。私は正しいですか?作成されたデリゲートのインスタンスの 1 つに問題が発生した場合、他のインスタンスに影響はありますか?
ご回答ありがとうございます。