while (true) 
{
clientservice = new Thread(new ThreadStart(ServiceClient));
clientservice.Start();
}
这样的循环会不会New出N个子线程出来?主线程A要和不断的调用子线程B【ServiceClient()】,这样要怎么实现?

解决方案 »

  1.   

    这样当然会产生无数的Thread.一般来说,这种情况需要额外写一个Thread
      

  2.   

    在主线程中开一个线程B,在B里面用一个循环隔一段时间调用ServiceClient()就可以了。
    A:
    clientservice = new Thread(new ThreadStart(InvokeServiceClient));
    clientservice.Start();B:
    void InvokeServiceClient()
    {
        while (true)
       {
           ServiceClient();
           Sleep(100);
        }
    }