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);
        }