高手再帮我看看吧,多线程问题
光说好像不太清楚,请高手帮我看一下代码,如果真的时Join的问题,我得马上想办法去更改先前的程序了。  
          //用多线程进行通讯测试  
          private void Test() 
         {  
           //这里省略无关的代码                
           //用多线程进行通讯测试  
             for (int index = 0; index  < m_SeiPcbas.Count; index++)  
             {  
                 m_SeiPcbas[index].SetTestCondition(cmbCommand.Text, m_RepeatTimes, m_RepeatInterval,  
                     new CallBackDelegate(CallBackRecord));//这里使用了回调委托来回调数据  
                 Thread threadTest = new Thread(new ThreadStart(m_SeiPcbas[index].TestReadCommand));  
                 m_TestThreads.Add(threadTest);  
             }  
         }  
  private void CallBackRecord(SeiPcbaTestRecord record)  
         {  
             rtfCurrentDetails.Invoke(  
                 new EventHandler(  
                     delegate  
                     {  
                         m_NumFinished++;                           
                     //这里省略无关代码  
                         if (m_NumFinished == m_NumToTest)//测试都完成了  
                         {  
                             tmrTest.Interval = m_TestInterval;  
                             tmrTest.Enabled = true;  
                             tmrTest.Start();问题在这里:测试完了启动时钟,在时钟中又调用了上面的Test()方法,当时我认为既然数据已经得到了回调数据,那么4个测试线程已经执行结束,所有没有在其他地方使用Join方法等待线程执行结束,不知道是不是就是这个原因导致第一次死机的,请高手给个答案                        }  
                     }  
                 ));  
         }
------解决方案--------------------帮顶!Too
------解决方案--------------------2个贴?
顶
------解决方案--------------------多线程回调对我来说还是有点复杂的,刚学习c#不久,帮你顶了
------解决方案--------------------
没有结束吧? 在其他地方开始,test函数里边唤醒,完了之后就阻塞,看怎么样?
------解决方案--------------------帮你顶顶吧
------解决方案--------------------
 你是使用线程池?
线程池中可以添加相同的线程吗?感觉你代码有问题检查一下吧,代码不全不好说。