1、后台线程问题#
2年前写过一个软件,里面后台线程是用如下方法:
1 Thread searchFileThread = new Thread(new ThreadStart(StartSearchFile)); //搜索文件后台线程
2 searchFileThread.IsBackground = true;
3 searchFileThread.Start();
虽然我将IsBackground属性置为true了,但是依然没有用,界面依然卡顿,不知为何,如果有大神路过,还请大神在评论区不吝赐教。最后上网baidu,google找了个别的办法,解决了它,效果还是很棒的。
2、解决界面假死问题#
其实方法也很简单,微软早就想到此问题,提供了Dispather.Invoke()这一类方法。我将搜索到的文件放在lst_PaperList(这是一个Listview)中,StartSearchFile是我写的一个搜索文件的函数,然后用如下代码:
lst_PaperList.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(StartSearchFile));
嗯,就这么写完了。但是这样子写完,好像没有点什么技术含量,我也在网上找了个不用另外开线程,实现更UI的方法,在此也分享一下。