當WPF應(yīng)用程序運行時,默認會創(chuàng)建一個UI主線程(因為至少需要一個),并在該UI線程上啟動消息循環(huán)。直到消息循環(huán)結(jié)束,應(yīng)用程序就隨即退出。那么,問題就來了,能不能創(chuàng)建新線程,然后在新線程上打開一個新窗口實例?這樣可以讓不同窗口運行在不同的線程上,一定程度上可以相互“獨立”。
其實呢,完全的獨立運轉(zhuǎn)似乎不太可能,畢竟嘛,線程是搶占 CPU 時間片的,即各個線程間是交替運行的,現(xiàn)在處理器基本是N核的,可以結(jié)合并發(fā)一起用(在.net 中,使用 Task 可以自動并發(fā))。不管怎么說吧,對UI的響應(yīng)能力應(yīng)該能有所改善的。
有大伙伴一定會說,這TMD Easy了,來直接上一段 Code。
Task theTask = new Task(() => { SecondWindow wind = new SecondWindow(); wind.Show(); }); theTask.Start();
然后你滿懷信心,春光滿面地按下了【F5】鍵,結(jié)果……