自己用winform编了个小程序,想实现同时ping五个ip的功能,然后查看能否ping的通。
我使用timer控件计数,间隔是1s,每5s重新ping一次。但我发现每次ping的时候程序会僵死几秒钟才会显示ping的结果,这是程序在运行的原因?只是一个ping ip的过程,不至于吧。。cpu什么的也不是100%这个是什么原因?有没有什么改进的方法?
问过别人,说是看能不能考虑用多线程的方法。难道是每个ip用一个线程控制?
希望有大侠来解答,先谢了

解决方案 »

  1.   

    Thread t = new Thread(myfunction);
    t.start();private void myfcuntion()

     你的ping
    }
      

  2.   

    但我的ping过程是循环执行的,循环五次。如果按照你说的这样的话,也是使用一个线程执行五个ping命令,除非我不用循环一个一个地ping,但这样会导致程序很冗余,可以ping的地址多了的话也不可行
      

  3.   

    没人知道该怎样解决吗?还是ping这个过程本来就有点耗时间?在dos界面下ping也确实会花费一些时间
      

  4.   

    个人想法应该是循环创建线程再运行ping命令,也就是创建五个线程分别运行一个ping。