我的项目中有一个Windows.Forms.Timer。在Timer.Tick方法处理程序中,我创建了一个Manager类(My Own Class)的实例。在In Manager Constructor中,我创建了一些线程并将它们存储在字典中。字典位于名为TransManager
的类中,该类使用单例模式实现。
public class TransManager {
private static volatile TransManager _Instance;
public static TransManager Instance
{
get
{
lock (syncRoot)
{
if (_Instance == null)
_Instance = new TransManager();
}
return _Instance;
}
}
}
我实现了TransManager类,因为我需要在同一个地方创建从不同Manager类实例生成的所有线程。
问题是当一个新的Manager实例在字典中添加最后一个线程消失的线程时!
注意:当我在Manager类的实例中创建所有线程时,所有线程都可以共享字典安全。据我所知,可以跨线程进行单例化吗?
我检查过;我的代码中没有Dictionary.Clear()
!
我希望问题很清楚!问我是不是。
谢谢。