WinForm多线程

来源:互联网 发布:网络体系结构的三要素 编辑:程序博客网 时间:2024/05/01 05:13
界面上有“开始”和“停止”按钮。当用户点击开始以后,程序就一直处于运行状态。在每天指定的时间点,从一个网页获取30天的数据,写入数据库。


程序结构如下:
C# code
private void btn_get_Click(object sender, EventArgs e){ compare();}private void compare(){ while(1==1)//无限循环 { if (time_Now == time_1)//到达指定时间 Get();//获取所有OD }}private void Get(){ …… DataSet ds= new DataSet(); DataTable dt = ds.Tables[0]; int iCount = dt.Rows.Count; for (int j = 0; j < 30; j++)//取30天的数据 { string sDate = DateTime.Now.AddDays(j).ToShortDateString(); for (int i = 0; i < iCount; i++)// { string sDepart = dt.Rows[i][0].ToString();//出发城市 string sArrive = dt.Rows[i][1].ToString();//到达城市 GetHTML(sDepart,sArrive); }}private void GetHTML(string sDepart,string sArrive){ //获取网页数据库 //写入数据库}


我现在采用的是BackgroundWorker组件,程序可以正常运行。但是由于一天要取20万左右的数据,后台只有一个线程在运行,速度非常慢。
现在希望能用10个线程来从网页获取数据,该怎么实现呢?
希望各位前辈给以指点,刚接触线程,如果前辈能给个线程的框架出来,将不胜感激。
原创粉丝点击