当WPF应用程序运行时,默认会创建一个UI主线程(因为至少需要一个),并在该UI线程上启动消息循环。直到消息循环结束,应用程序就随即退出。那么,问题就来了,能不能创建新线程,然后在新线程上打开一个新窗口实例?这样可以让不同窗口运行在不同的线程上,一定程度上可以相互“独立”。

其实呢,完全的独立运转似乎不太可能,毕竟嘛,线程是抢占 CPU 时间片的,即各个线程间是交替运行的,现在处理器基本是N核的,可以结合并发一起用(在.net 中,使用 Task 可以自动并发)。不管怎么说吧,对UI的响应能力应该能有所改善的。

 

有大伙伴一定会说,这TMD Easy了,来直接上一段 Code。

            Task theTask = new Task(() =>
              {
                  SecondWindow wind = new SecondWindow();
                  wind.Show();
              });
            theTask.Start();

 

然后你满怀信心,春光满面地按下了【F5】键,结果……

万码学堂,电脑培训,计算机培训,Java培训,JavaEE开发培训,青岛软件培训,软件工程师培训

网友评论