Как стать автором
Обновить

Комментарии 8

Что-то вы обещали рассказать про пул потоков, а в итоге рассказали как оператор await работает. И даже этот рассказ не довели до конца — к примеру, так и не были упомянуты возможные взаимоблокировки или переполнения стека из-за подобного поведения и решение через RunContinuationsAsynchronously.

мне тоже показалось что вся суть статьи поместилась в разделе Выводы

Я нахожу несколько странным отвечать на такие вопросы, но я всё же попробую.

Что-то вы обещали рассказать про пул потоков, а в итоге рассказали как оператор await работает.

В самом начале статьи есть ссылки на все предыдущие. Среди них есть блок про ThreadPool в общем смысле. Эта статья - одна из этого блока. И я считаю важным, говоря о тредпуле, говорить в том числе о синтаксисе языка, с помощью которого с этим тредпулом работают. Всё-таки большинство инженеров на сегодняшний день сначала начинают им пользоваться, а только потом погружаются в детали. И это совершенно нормально и естественно.

так и не были упомянуты возможные взаимоблокировки или переполнения стека из-за подобного поведения и решение через RunContinuationsAsynchronously

Я предпочитаю получать и делиться информацией порционно, не перегружая контент ничем лишним. Детально и тщательно разбирая какой-то конкретный случай. Если попытаться в одну статью упихнуть всё, что только можно, получится книга. Причем, как известно, такие уже есть.

Вы перечисляете в самом деле важные и интересные вещи. Но они - одни из многих других интересных. И я действительно планировал рассмотреть в рамках этой серии статей и эти темы.

Суммируя всё выше сказанное, да, возможно, Habr не идеально подходит для формата блога взаимосвязанных статей. Или я не умею им пользоваться для успешного решения такой задачи. И я не считаю полезным в каждой статье из серии делать десятки отступлений, что это не полный гайд и не весь возможный набор информации, что это серия, и что были предыдущие статьи на тему, и будут будущие, и что да, вот эти N важных кусков информации здесь не рассмотрены. На мой взгляд достаточно упомининия блока "В предыдущих сериях" в начале. С удовольствие послушаю другую точку зрения на этот счет.

В самом начале статьи есть ссылки на все предыдущие. Среди них есть блок про ThreadPool в общем смысле. Эта статья — одна из этого блока.

Ну вот я и не считаю что эта статья должна быть в блоке про пул потоков.


Я предпочитаю получать и делиться информацией порционно, не перегружая контент ничем лишним.

В данном случае лично я ощущаю недогруженность.

Ну вот я и не считаю что эта статья должна быть в блоке про пул потоков.

Я объяснил свою логику: один из предлагаемых мной шагов в изучении работы тредпула, один из способов понять как он работает - рассмотреть, как выглядит снаружи его работа, с точки зрения его использования через предоставляемый нам синтаксис. И в статье явно продемонстрировано, в каком именно моменте происходит смена потоков из пула, работающих над нашими задачами, как это связано с C#-синтаксисом. По-моему, это в точности о пуле потоков. Излишнюю гранулярность и "недозагруженность" оставим за скобками.

В данном случае лично я ощущаю недогруженность.

Не считаю рациональным продолжать разговор в плоскости персонального восприятия загруженности контента. Угодить всем нельзя. А оценку "зашло" или "не зашло" оставлю на интерпретацию статистики, которую могу извлечь из Хабра. В частности, это голоса за статьи и комментарии.

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

Статья интересная!
Порционный подход очень нравится - позволяет читать такие выжимки в "перерывах на обед".
Определённо продолжайте!

Спасибо :)

Спасибо вам за ваши статьи! Всегда читаю с большим удовольствием, умеете понятно и просто объяснить сложное!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий