日期:2014-05-17  浏览次数:20870 次

使用线程循环读取ListView控件的数据写到文件为什么界面也会假死(C#)
使用线程循环读取ListView控件的数据写到文件为什么界面也会假死(C#)
如果主线程操作界面假死正常,使用线程操作也会出现界面假死呢?
难道是我这种写法不正确?还是什么原因?

------解决方案--------------------
虽然你使用了多线程,但是你在线程中invoke时候还是会堵塞掉UI的~ invoke其实只是一个简单的插队操作,具体的完成还是在UI线程的
------解决方案--------------------
引用:
Quote: 引用:

虽然你使用了多线程,但是你在线程中invoke时候还是会堵塞掉UI的~ invoke其实只是一个简单的插队操作,具体的完成还是在UI线程的


你好!但我在向ListView添加数据项的时候就不会出现界面假死的情况。
就上诉代码而言应该怎么样优化呢?给个思路、资源(用到知识点),能有DEMO更好!谢谢!

你应该给ListView绑定数据源,比如List<T>,你CRUD ListView的项时都要同步到List<T>中,在线程里你只要循环读取List<T>就行了,不会再需要阻塞UI线程,也就是不需要Invoke。