如何线程保护复杂的数据对象?

时间:2015-11-26 09:28:07

标签: c# multithreading

这是我想要使线程安全的数据对象:

Dictionary<string, Dictionary<ClassA, ClassB>>

以下是类的定义,没有hashcode defs:

public ClassA{
   public string String1 {get; set;}
   public string String2 {get; set;}
}

public ClassB{
   public double Double1 {get; set;}
   public double Double2 {get; set;}
}

基本上嵌套的字典结构值不断变化。我想将此对象线程化,然后发送/发布到消息队列(RabbitMQ)。我正在遇到异常被抛出的地方,它说Enum集合在发送/发布到MQ时正在被更改。

我该如何解决这个问题?

非常感谢!

1 个答案:

答案 0 :(得分:0)

放入嵌套字典中的所有值都发生在同一个线程上。

我将该对象的副本创建到一个新的数据对象中,然后将其作为一个魅力。

相关问题