Надеюсь, вы поможете мне прояснить мое понимание безопасности потоков и нескольких экземпляров ссылочного типа.
Я изложил простой сценарий ниже.Мой вопрос: если ProcessorOne и ProcessorTwo работают одновременно, и если класс DatabaseIntegration является ссылочным типом, а ProcessorOne и ProcessorTwo оба имеют свои собственные экземпляры DataBaseIntegration, то существует вероятность того, что объект, сохраненный в ProcessorOne, будет иметь имяот ProcessorTwo помешал?
public class ProcessorOne
{
private readonly DatabaseIntegration databaseIntegration;
public ProcessorOne(DatabaseIntegration databaseIntegration)
{
this.databaseIntegration = databaseIntegration;
}
public void Process()
{
this.databaseIntegration.SetName("NameOne")
Entity entity = new Entity()
this.dataBaseIntegration.Save(entity);
}
}
public class ProcessorTwo
{
private readonly DatabaseIntegration dataBaseIntegration;
public ProcessorTwo(DatabaseIntegration dataBaseIntegration)
{
this.dataBaseIntegration = dataBaseIntegration;
}
public void Process()
{
this.databaseIntegration.SetName("NameTwo")
Entity entity = new Entity()
this.dataBaseIntegration.Save(entity);
}
}
public class DatabaseIntegration
{
private string entityName;
public void SetName(string entityName)
{
this.entityName = entityName;
}
public void Save(Entity entity)
{
entity.EntityName = this.entityName;
using (DbContext context = new DbContext(sqlConnection))
{
context.Entity.Add(entity);
context.SaveChanges();
}
}
}