多线程引起的奇怪问题!
我实现的是一个利用表格显示数据库中数据的简单程序 但是数据库中存有Blob类型的图文信息 也要一同显示在表格中 为了提高效率 我将Blob字段的读取放到了一个新的线程中执行;
程序开始我先将读取1~n行的blob字段的函数调用Add到一个Dictionary<Tkey,Delegate>中(TKey我用做函数的参数,正好代表1~n行的行号)
然后Start一个线程 循环Invoke Dictionary<TKey,Delegate>中的函数 执行一个Remove一个 直到执行完毕;
但是现在出现了这么一个奇怪的问题 就是我在打开表格的时候 发现第一页的图片并没有显示出来 而当在读取每条Blob字段的函数中设断点 单步执行程序 当单步执行完毕时 图片却都能显示出来了?
这是由于什么引起的呢? 而当我不采用多线程的方式 而在主线程中循环Invoke那些函数 则图片可以被正常显示出来~