for(int i = 0;i<6;i++)
{
Thread thread = new Thread(new ThreadStart(Filter));
thread.Name = Convert.ToString(i);
thread.Start();
}
private void Filter()
{

DateTime startTime = DateTime.Now;
try
// {
// while(true)
// {
int j = 0;
for(int i=0;i<al.Count;i++)
{
lock(typeof(Thread))
{
if(isOK(al[i].ToString()))
{
j = j+1;
//MessageBox.Show(al[i].ToString()+"非法!");
}
}
}
// Thread.Sleep(1);

// }
//MessageBox.Show("a");

Thread.CurrentThread.Abort();

}
我希望多个线程同时执行Filter()需要怎么写啊,

解决方案 »

  1.   

    我写的不对
    每个线程都执行一遍Filter()
      

  2.   

    多个线程同一时刻执行不太可能,你可以加线程锁,也可以采用同步信号量处理,lock方式
      

  3.   

    就是开多个线程去执行 Filter()方法
     Filter()是个循环过滤
    现在的问题的是开一个线程就要循环一个 我就想让多线程就循环一个
      

  4.   

    确实表达不清楚,不过现在看来你是想同步·!
    lock就对了!
      

  5.   

    但启两个线程还是循环了两次Filter()方法啊
      

  6.   

    flystation(flystation) 你说的对 我就是这个意思 但怎么实现呢!!