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()来终止这个线程。
----线程学习之初,记录下学到的一点思路和皮毛。

浙公网安备 33010602011771号