static void Main(string[] args) { String[] adresses = System.IO.File.ReadAllLines("ip.txt"); // read ip's from file String[] ip = new String[adresses.Length]; String[] ports = new String[adresses.Length]; Threads = new Queue<Thread>(); // Проходим по адресам for (int i = 0; i < adresses.Length - 1; i++) { String[] result = adresses[i].Split(new Char[] { ':' }); ip[i] = result[0].ToString(); ports[i] = result[1].ToString(); } int q = 0; while (!res) { if (q < adresses.Length - 1) { string currip = ip[q], currrport = ports[q]; // Create but do not start it. Thread current = new Thread(new ThreadStart(delegate() { try { var g = new GoogleScholarDataGetter("https://scholar.google.com.ua/citations?user=b18TCTYAAAAJ&hl=uk", ref currip, ref currrport); // Вызываем парсер g.executeParser(); } catch (Exception e) { Console.WriteLine(e.Message); } return; })); current.Name = "Worker " + q.ToString(); current.IsBackground = true; current.Priority = ThreadPriority.Highest; Threads.Enqueue(current); Threads.Last().Start(); q++; } } }
/// <summary> /// Отработка основного парсера. /// </summary> public void QuotationIndexEvent() { string[] arrayres; var getter = new GoogleScholarDataGetter(string.Concat(surname, " ", name)); // GoogleScholarDataGetter getter = new GoogleScholarDataGetter("Глазунова Олена"); getter.executeParser(); // возвращаемый массив arrayres = getter.OutputData; //if (arrayres == null) // throw new ArgumentNullException("Парсер ничего не вернул!"); // данные возвращаюся не прямым представлением, расстановка. string[] IndexesLibraryStr = new string[3] { arrayres[0], arrayres[3], arrayres[6] }; string[] AllIndexesStr = new string[3] { arrayres[1], arrayres[4], arrayres[7] }; string[] From2009Str = new string[3] { arrayres[2], arrayres[5], arrayres[8] }; // вносим новые данные в бд string[] paramArray = { id, arrayres[1].ToString(), arrayres[2].ToString(), arrayres[4].ToString(), arrayres[5].ToString(), arrayres[7].ToString(), arrayres[8].ToString() }; DB.Query("Insert into QuotationIndexs values (@param0,@param1,@param2,@param3,@param4,@param5,@param6)", paramArray); }