Как отправить несколько веб-запросов и обработать их максимально быстро

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

0
задан Licentia 11 April 2019 в 09:29
поделиться

1 ответ

Попробуйте увеличить минимальное число работающих потоков на

ThreadPool.SetMinThreads(84,84);

Это должно значительно ускорить процесс.

Что касается создания задачи, на которое указывает Илья, я бы порекомендовал вам полностью исключить часть Task.Run / AwaitAll и использовать механизм Parallel, который был разработан именно для такой задачи:

Parallel.ForEach(UrlsToProcess, data =>
{
    var htmToParse =  ScrapUtils.GetAgilityDocby(cookie, data.URL);

    var htmlDoc = new HtmlDocument();
    htmlDoc.LoadHtml(htmToParse);
    data.doc = htmlDoc;
});
0
ответ дан FastJack 11 April 2019 в 09:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: