求教网络设备监听的方法
我们单位有几百台交换机,想做个程序实时检测这些交换机是否正常工作! 
 我的想法是把交换机的Ip列表写到数据库中,然后循环读出来,有多少个ip建立多少个线程,去ping这些ip,通过ping返回的信息判断其是否正常.但我让这些线程不停的ping这些交换机,cpu占用率就一直在100%。 
 1、请高手指点,像这样的监听除了ping的方式还有其他方法吗? 
 2、如果没有请看看下面的代码可以怎样让cpu占用率降下来?     
 while   (dr.Read()) 
                                     { 
                                                 myping   myobject   =   new   myping(); 
                                                 myobject.ip   =   dr[ "ManageIP "].ToString(); 
                                                 myobject.switchDesc   =   dr[ "switchDesc "].ToString(); 
                                                 mythread[i]   =   new   Thread(new   ThreadStart(myobject.ping)); 
                                                 mythread[i].Start(); 
                                                 i   =   i   +   1; 
                                     }   
    public   class   myping 
                         { 
                                     public   string   ip; 
                                     public   string   switchDesc; 
                                     public   void   ping() 
                                     { 
                                                 Process   p   =   new   Process(); 
                                                 p.StartInfo.FileName   =    "cmd.exe "; 
                                                 p.StartInfo.UseShellExecute   =   false; 
                                                 p.StartInfo.RedirectStandardInput   =   true; 
                                                 p.StartInfo.RedirectStandardOutput   =   true; 
                                                 p.StartInfo.RedirectStandardError   =   true; 
                                                 p.StartInfo.CreateNoWindow   =   true; 
                                                 p.Start(); 
                                                 p.StandardInput.WriteLine( "ping   -n   1    "   + &