//Запуск асинхронно анализа всех ссылок на количество тэгов //Количество потоков равно количеству ссылок, так как каждый поток использует крайне малое количество процессорной мощности //большая часть времени тратится на ожидание ответа от сервера public async Task Run_it() { cts = new CancellationTokenSource(); await Task.WhenAll(URLs.Select(e => e.Process(cts).ContinueWith(t => Progress++)).ToArray()); //Progressbar отображает кол-во завершенных потоков (обработанных ссылок) Maxtags = URLs.OrderByDescending(e => e.Count).Take(1).ToArray()[0]; //Находим ссылку с максимальным количеством тэгов из ранее проанализированных }