一个多线程的问题.请高手帮忙回答.
我点了button1开始一个线程. 
 按了这个按钮后我想按第二个按钮就按不动了..直到线程运行完了..这是为什么啊. 
 请高手指点一二 
 下面是代码: 
                         private   void   button1_Click(object   sender,   EventArgs   e) 
                         { 
                                  Thread   threadParse   =   new   Thread(new   ThreadStart(RunParser)); 
                                  threadParse.Start(); 
                         } 
                         private   void   button2_Click(object   sender,   EventArgs   e) 
                         { 
                                     MessageBox.Show( "点了第二个按钮 "); 
                         } 
                         delegate   void   GetRunParserHandle(); 
                         void   RunParser() 
                         { 
                                     if   (this.InvokeRequired) 
                                     { 
                                                 GetRunParserHandle   rph   = 
                                                                                                             new   GetRunParserHandle(this.RunParser); 
                                                 this.Invoke(rph); 
                                                 return; 
                                     } 
                                     else 
                                     { 
                                                 Thread.Sleep(5000); 
                                                 textBox1.Text   =    "5秒过了 "; 
                                     } 
                         } 
------解决方案--------------------你只开了一个线程
------解决方案--------------------为什么那个委托还要调用RunParser()呢?必须要这样用吗? 
------解决方案--------------------你可以调用其他方法来处理就可以,没必调用自己,你试一下调用其他的方法看看,那就不可卡住不动的. 
 还有,this.Invoke();是同步调用 
      this.BeginInvoke();就是异步了
------解决方案--------------------你怎么又是线程又是INVOKE的同时来调它,看得我有点迷糊