我是代理新手,我想看看以下代码是否会导致任何问题。我编写的代码没有使用共享变量,而是使用了共享委托,如下所示
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
}
我假设代码应该可以正常工作,因为每次都会创建一个新的委托实例。我对吗?如果创建的委托实例之一出现问题,是否会影响其他实例?
提前感谢您的回答,