C++ Russia 2018: Иван Пузыревский, Асинхронность в программировании

Краткое содержание доклада Ивана Пузыревского — “Асинхронность в программировании“ с конференции C Russia 2018: 1:35 - Классическая для параллельного программирования программа ping-pong. На ее примере описывается основная терминология (в картинках): поток выполнения, многозадачность, параллелизм; блокировнаие и ожидание. 10:18 - Более эффективная работа с сетью (select/epoll или библиотеки типа libuv, вызывающие callback-и при поступлении данных). За счет их применения код становится асинхронным, т.е. мы в свое приложение забрали логику по обработке событий. Вызовы select/epoll - точки, где мы запрашиваем у операционной системы информацию о наступивших событиях и с их учетом мы решаем над какой задачей нам работать дальше. 12:15 - Механизмы уведомлений: - Тяни (pull) - очереди. Мы вытягиваем множество наступивших событий, которые мы ждем и реагируем на них. Примеры - сетевые карты (select/epoll), очередь задач. - Толкай (push)
Back to Top