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是null在主線程內部,原因被填充到單獨的線程中。
由於這是我第一次嘗試使用線程工作,我看不出如何克服這一點。\
那你怎麼辦呢?
這將阻止主UI線程,顯然不是OP想要的東西 – synhershko