示例#1
0
文件: Proxy.cs 项目: CBDlkl/LiGather
 /// <summary>
 /// 验证Ip可用性
 /// </summary>
 /// <param name="maxThreadNum">启用多少线程验证</param>
 public void ValidateCanUse(int maxThreadNum = 1)
 {
     var tasks = new Task[maxThreadNum];
     for (var i = 0; i < maxThreadNum; i++)
     {
         tasks[i] = new Task(() =>
         {
             for (var j = 0; j < MaxValue; j++)
             {
                 ProxyDomain proxyDomain = new ProxyDomain();
                 var id = new Random().Next(1, proxyDomain.GetMaxId());
                 var proxyEntity = proxyDomain.GetById(id);
                 if (proxyEntity.Id == 0)
                     continue;
                 if (ThreadValidate.Doit(proxyEntity))
                     break;
             }
             Console.WriteLine("完成");
         });
         tasks[i].Start();
     }
     Task.WaitAll(tasks);
 }