C#多线程

完成分批加载数据 读取一段数据显示 后再加载数据,显示。

数据读取采用分页读取的方法,存放在一个数据源里 如Datatable。

数据就从这个数据源里读取显示。

数据加载为一个线程,显示为一个线程,利用join()等待数据加载线程执行结束后继续运行显示数据的线程。

然后while循环着两个线程,每次循环一遍都要终止这两个线程,再新建线程。

主线程里

while(){}

在循环里  创建Thread1为数据加载线程,Thread2 为数据 显示线程;

在循环里先Thread2 启动 在Thread2 里首先启动Thread1并 使用Thread1.join()方法等待Thread1执行完毕;

在每一次循环结束使用Thread2 .join()方法使得Thread2 结束之后才执行 Thread1,Thread2 的线程销毁Abort()方法。

//这种方法主线程程会卡主,等待while()循环结束,此时可以在while()循环外再加一层Thread()使得while()循环在自己独立的线程中,从而不会让主线程等待。

//因为创建的默认为前台线程,所以此时即使关闭了窗体 while()这个线程也不会被及时关闭,所以此时可以  threadWhile.IsBackground = true;//后台线程,使其变为后台线程,

主线程结束自动销毁,也可以 在船体关闭时的事件FormClosed()里添加代码 Abort()来终止这个线程。

----线程学习之初,记录下学到的一点思路和皮毛。

 

posted @ 2018-08-20 16:40  请多指教9  阅读(226)  评论(0编辑  收藏  举报