多线程引起的奇怪问题!

jcmw0725 2009-04-16 10:31:59
我实现的是一个利用表格显示数据库中数据的简单程序 但是数据库中存有Blob类型的图文信息 也要一同显示在表格中 为了提高效率 我将Blob字段的读取放到了一个新的线程中执行;
程序开始我先将读取1~n行的blob字段的函数调用Add到一个Dictionary<Tkey,Delegate>中(TKey我用做函数的参数,正好代表1~n行的行号)
然后Start一个线程 循环Invoke Dictionary<TKey,Delegate>中的函数 执行一个Remove一个 直到执行完毕;

但是现在出现了这么一个奇怪的问题 就是我在打开表格的时候 发现第一页的图片并没有显示出来 而当在读取每条Blob字段的函数中设断点 单步执行程序 当单步执行完毕时 图片却都能显示出来了?
这是由于什么引起的呢? 而当我不采用多线程的方式 而在主线程中循环Invoke那些函数 则图片可以被正常显示出来~
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2009-04-16
  • 打赏
  • 举报
回复
刷新一下界面。
kkun_3yue3 2009-04-16
  • 打赏
  • 举报
回复
其它代码执行完毕时,异步读取的还没完成
还是改回同步方式吧...
BS用异步需要借助JS等手段,怪麻烦滴
txt_paul 2009-04-16
  • 打赏
  • 举报
回复
倾情一顶
CeShenBeiWang 2009-04-16
  • 打赏
  • 举报
回复
up

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧