Clrium №7: Отчеты, Практика, Наставники

18 апреля 2020 г.

в Санкт-Петербурге и 16 мая в Москве.

пройдет седьмая мини-конференция по платформе .

NET CLRium #7 .

На этот раз мы будем говорить и практиковать многопоточный код. Как и в прошлый раз, все отчеты будут следовать единой повествовательной линии.

В шестом CLRium мы стали более подкованы в теории и узнали много нового о планировщике потоков, блокировках и неблокирующих алгоритмах.

В платформе .

NET мы изучили контексты синхронизации, планировщики задач, как работают сами задачи, async/await и типичные ошибки при ее использовании.

Мы изучили все, чтобы уверенно приступить к работе над практическими задачами.

В CLRium #7 мы перейдем к упражняться .

Наша программа наконец-то готова: мы разработали матрицу отчетов, которые структурированы таким образом, что последующие отчеты логически вытекают из предыдущих.

А помимо самих докладов, по вашему желанию, вам будет предоставлена практическая работа на дому, в ходе которой вы приобретете опыт совместной работы над задачами: в группах по несколько человек (под руководством координатора).



CLRium №7: Отчеты, практика, наставники

Планируя семинар, мы решили пойти на эксперимент: ввести полноценную практику.

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

С одной стороны страшно, а с другой — не было задач понять, можно ли это распараллелить или нет. Поэтому линия нашего семинара будет следующей: Архитектурный блок докладов:

  1. Начнем с самого высокого уровня : архитектура системы в целом.

    С высоты птичьего полета мы научимся принимать решения на самом высоком уровне.

    Что нам следует параллельно использовать с известными решениями вроде RabbtMQ, а что следует делать самостоятельно.

    Решим вопросы с архитектурной точки зрения;

  2. Далее мы будем научитесь прогнозировать производительность кода если мы все же решим сделать код многопоточным.

    Согласитесь: важно иметь точное представление о конечном результате, прежде чем торопиться что-либо делать;

  3. После того, как мы разработали наши алгоритмы, нам нужно понять, что мы получили : Проанализируйте производительность нашего кода.

    Попробуй это.

    Мы изучим это в третьем отчете;

  4. Следующий вопрос - научитесь видеть решение проблемы .

    Те.

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

Блок отчетов посвященный синхронизации
  1. Разобравшись с архитектурными вопросами, начнем погружаться в разработка стратегии борьбы с блокировкой .

    Блокировка важна, и ее понимание приведет вас к высокопроизводительному коду;

  2. Практика разработки и анализа неблокирующих алгоритмов - наша следующая тема.

    Работая в паре, блокирующие и неблокирующие алгоритмы дадут вам максимальную загрузку процессора при максимально полезных вычислениях;

Инструменты
  1. В отчете " Работа в модели async/await: полностью и частично асинхронный код «Мы ответим на многие вопросы, которые пугают разработчика: как архитектурно правильно запустить async/await-код? Если библиотека или какой-то код использует async/await, что должен делать вызывающий объект? Все ли вызывающие процессы выполняют асинхронный режим? Как остановить это? И многие другие.

  2. Также мы Раскроем вопросы использования библиотеки Rx.NET. : linq-подобная библиотека для обработки потоковых данных (например, обработки сообщений, в том числе из UI).

    Мощнейшая библиотека, в неопытных руках становится оружием массового уничтожения кода.

    Но в руках тех, кто ее знает, она становится супер-инструментарием, позволяющим решать проблемы в очень короткие сроки.

  3. И последняя тема - наконец-то опубликованная библиотека JetBrains.Lifetimes .

    Я немного говорил об этом ранее.

    Но теперь можно рассказать, во-первых, гораздо подробнее, а во-вторых, в многопоточной среде.

Программа семинара получилась полноценной и с учетом практики фактически стала обучающим курсом по теме многопоточности в среде .

NET.

Контакты

Теги: #программирование #C++ #.

NET #Параллельное программирование #clrium

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.