多线程问题,如何关闭其他调用同一方法的其他线程?
说法可能有些问题,例如方法   A();A()地执行时间为1分钟. 
 点下Button调用一次A(),再1分钟内点个十次八次的,就会出现在同一个时间同时有很多个线程在调用A()。我想只在最近的线程里执行A(),而取消其他线程的操作该如何做?   
 在单线程里做,不停的点Button   一直死在那里,过一会儿才可以继续, 
 下面的代码是单线程里做   
 Thread   myThread;   
                         private   void   button1_Click(object   sender,   EventArgs   e) 
                         { 
                                     if   (myThread   !=   null) 
                                     { 
                                                 if   ((myThread.ThreadState   &   (ThreadState.Stopped   |   ThreadState.Unstarted))   ==   0) 
                                                 { 
                                                             myThread.Abort(); 
                                                             this.listBox1.Items.Add( "Cancel   one   threassssssssssssssssssssssssssssssssssssssssssssssssssssss "); 
                                                 } 
                                     } 
                                     myThread   =   new   Thread(new   ThreadStart(DoSomething)); 
                                     myThread.Start(); 
                         }   
                         private   delegate   void   ItemAddHandle(int   i);                                       
                         private   void   DoSomething() 
                         { 
                                     listBox1.BeginInvoke(new   ItemAddHandle(ShowStartInfo),   new   object[]   {   1   });                                          
                                     for   (int   i   =   0;   i    <   10000;   i++) 
                                     {                                                 
                                                 listBox1.BeginInvoke(new   ItemAddHandle(DoItemAdd),   new   object[]   {   i});                                              
                                     } 
                    &nbs