在 MainForm.cs 中,我正在初始化一些东西(IBookRepository 和 IDocumentStore)。
private IDocumentStore _store = new EmbeddableDocumentStore {RunInMemory = false };
private IBookRepository _repository;
public MainForm()
{
InitializeComponent();
_store.Initialize();
_repository = new RavenDbBookRepository(_store);
}
因为可嵌入文档存储需要一段时间(5,6 秒)才能初始化,所以我想将它的初始化移到单独的线程上
所以我尝试了
private void InitOnNewThread()
{
_store.Initialize();
_repository = new RavenDbBookRepository(_Store);
}
public MainForm()
{
InitializeComponent();
Thread t = new Thread(new ThreadStart(InitOnNewThread));
t.Start();
}
但是在主线程中使用这个 _repository 是空的,原因是在单独的线程中填充。
由于这是我第一次尝试使用线程,所以我不知道如何克服这个问题。\
你会怎么做?