Страна чудес корутин
GlobalCpp и C++ Serbia
0:00 / 0:00
Страна чудес корутин
288 просмотров · 1 месяц назад
GlobalCpp и C++ Serbia
288 просмотров · 1 месяц назад
Общая информация
Мы хотим встречаться и в реальной жизни! Информация о социальных мероприятиях на этой неделе доступна на сайте. Заходите еженедельно, чтобы узнать о новых мероприятиях. Хотите помочь в организации таких встреч? Найдите нас в Discord (информация на главной странице) и помогите нам улучшить взаимодействие и общение.
Пожалуйста, ознакомьтесь с информацией на главной странице группы: https://globalcpp.github.io.
На этой неделе
Дамир представит практический пример использования сопрограмм в сокетной связи.
Мы перепроектируем компонент приемника, общий для обеих конечных точек, для обработки обмена данными. Мы начнем с простого подхода – попытаемся напрямую заменить существующий код сопрограммой и объясним, почему это антипаттерн. Затем мы перепроектируем приемник, чтобы он был «дружелюбен» к сопрограммам, и покажем, как можно переписать компоненты сервера и клиента – для обработки нескольких соединений в одном потоке, вместо одного потока приемника на каждое соединение.
Мы также рассмотрим, как можно использовать пользовательские распределители памяти для переопределения стратегии распределения памяти по умолчанию для сопрограмм — распределения в куче. Я опишу реализацию, начиная с распределителя памяти фиксированного размера в стеке — с внутренним хранилищем памяти в стеке, и как построить на его основе пул распределителей фиксированного размера разных размеров. Мы обернем эту реализацию в интерфейс std::pmr::memory_resource, чтобы получить полиморфный распределитель памяти с удаленными типами, который можно использовать вместе с контейнерами std::pmr. Мы будем использовать его для переопределения стратегии распределения памяти по умолчанию для сопрограмм, выделяя память преимущественно в стеке, с резервной стратегией — выделением в куче только тогда, когда емкость внутреннего хранилища стека исчерпана.
О докладчике
Главный инженер-программист в e.solutions GmbH в Ингольштадте, Германия. Как член команды по подключенным медиа, он отвечает за бесшовную интеграцию технологий потоковой передачи со смартфонов в собственную информационно-развлекательную систему. Ранее работал в компании RT-RK DOO в Нови-Саде, Сербия, над различными проектами – в основном над разработкой программного обеспечения для цифрового телевидения (DTV). Его предстоящая книга «Разработка информационно-развлекательных систем на Android», выход которой запланирован на конец этого года, призвана стать прагматичным руководством, которое поможет даже опытным разработчикам программного обеспечения получить представление о различных областях разработки встроенных систем.
00:00 Краткое содержание предстоящей книги
18:04 Антипаттерны сопрограмм
47:17 Управление памятью и сопрограммы
1:11:09 Вопросы и ответы