简单使用BackgroundWorker创建多个线程的教程

2019-05-20 11:58:50王振洲

     }
 }

 void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     bws.Remove(sender as BackgroundWorker);
     if (bws.Count == 0)
     {
         if (e.Cancelled)
         {
             this.richTextBox1.Text += "线程已经停止";
         }
         else
         {
             this.richTextBox1.Text += "线程已经完成";
         }
     }
 }

至此,所有的代码都奉上了,多个线程操作会带来很多意向不到的麻烦,比如多个线程同时把数据写入一个文件,多线程更新datatable等,会让软件莫名其妙的自动退出,.net2.0里还没有绝对线程安全的数据集,很多大佬都说用lock,但我对lock也是一知半解,还请大家赐教赐教,如上有什么说的不对,也请大家多多指点。