КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 713561 томов
Объем библиотеки - 1406 Гб.
Всего авторов - 274792
Пользователей - 125109

Последние комментарии

Новое на форуме

Новое в блогах

Впечатления

Влад и мир про Семенов: Нежданно-негаданно... (Альтернативная история)

Автор несёт полную чушь. От его рассуждений уши вянут, логики ноль. Ленин был отличным экономистом и умел признавать свои ошибки. Его экономическим творчеством стал НЭП. Китайцы привязали НЭП к новым условиям - уничтожения свободного рынка на основе золота и серебра и существование спекулятивного на основе фантиков МВФ. И поимели все технологии мира в придачу к ввозу промышленности. Сталин частично разрушил Ленинский НЭП, добил его

  подробнее ...

Рейтинг: +3 ( 3 за, 0 против).
Влад и мир про Шенгальц: Черные ножи (Альтернативная история)

Читать не интересно. Стиль написания - тягомотина и небывальщина. Как вы представляете 16 летнего пацана за 180, худого, болезненного, с больным сердцем, недоедающего, работающего по 12 часов в цеху по сборке танков, при этом имеющий силы вставать пораньше и заниматься спортом и тренировкой. Тут и здоровый человек сдохнет. Как всегда автор пишет о чём не имеет представление. Я лично общался с рабочим на заводе Свердлова, производившего

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
Влад и мир про Владимиров: Ирландец 2 (Альтернативная история)

Написано хорошо. Но сама тема не моя. Становление мафиози! Не люблю ворьё. Вор на воре сидит и вором погоняет и о ворах книжки сочиняет! Любой вор всегда себя считает жертвой обстоятельств, мол не сам, а жизнь такая! А жизнь кругом такая, потому, что сам ты такой! С арифметикой у автора тоже всё печально, как и у ГГ. Простая задачка. Есть игроки, сдающие определённую сумму для участия в игре и получающие определённое количество фишек. Если в

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
DXBCKT про Дамиров: Курсант: Назад в СССР (Детективная фантастика)

Месяца 3-4 назад прочел (а вернее прослушал в аудиоверсии) данную книгу - а руки (прокомментировать ее) все никак не доходили)) Ну а вот на выходных, появилось время - за сим, я наконец-таки сподобился это сделать))

С одной стороны - казалось бы вполне «знакомая и местами изьезженная» тема (чуть не сказал - пластинка)) С другой же, именно нюансы порой позволяют отличить очередной «шаблон», от действительно интересной вещи...

В начале

  подробнее ...

Рейтинг: +2 ( 2 за, 0 против).
DXBCKT про Стариков: Геополитика: Как это делается (Политика и дипломатия)

Вообще-то если честно, то я даже не собирался брать эту книгу... Однако - отсутствие иного выбора и низкая цена (после 3 или 4-го захода в книжный) все таки "сделали свое черное дело" и книга была куплена))

Не собирался же ее брать изначально поскольку (давным давно до этого) после прочтения одной "явно неудавшейся" книги автора, навсегда зарекся это делать... Но потом до меня все-таки дошло что (это все же) не "очередная злободневная" (читай

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).

Asyncio и конкурентное программирование на Python [Мэттью Фаулер] (pdf) читать постранично

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Мэттью Фаулер

Asyncio и конкурентное
программирование на Python

Python Concurrency
with asyncio

M AT T H E W F OW L E R

Asyncio и конкурентное
программирование на Python

М Э Т Т Ь Ю ФАУЛ Е Р

Москва, 2023

УДК 004.42
ББК 32.372
Ф28

Фаулер М.
Ф28 Asyncio и конкурентное программирование на Python / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2022. – 398 с.: ил.
ISBN 978-5-93700-166-5
Из данной книги вы узнаете, как работает библиотека asyncio, как написать первое
реальное приложение и как использовать функции веб-API для для повышения производительности, пропускной способности и отзывчивости приложений на языке
Python. Рассматривается широкий круг вопросов: от модели однопоточной конкурентности до многопроцессорной обработки.
Издание будет полезно не только Python-разработчикам, но и всем программистам,
которые хотят лучше понимать общие проблемы конкурентности.

УДК 004.42
ББК 32.372

© DMK Press 2022. Authorized translation of the English edition © 2022 Manning Publications.
This translation is published and sold by permission of Manning Publications, the owner of all rights
to publish and sell the same.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой
бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.

ISBN 978-1-6172-9866-0 (англ.)
ISBN 978-5-93700-166-5 (рус.)

© Manning Publications, 2022
© Перевод, оформление, издание, ДМК Пресс, 2022

Посвящается моей любимой супруге Кэти.
Спасибо, что ты всегда рядом.

Оглавление
1
2
3
4
5
6
7
8
9
10
11
12
13
14
















Первое знакомство с asyncio............................................................................... 21
Основы asyncio....................................................................................................... 45
Первое приложение asyncio................................................................................ 74
Конкурентные веб-запросы...............................................................................101
Неблокирующие драйверы баз данных. .........................................................130
Счетные задачи.....................................................................................................157
Решение проблем блокирования с помощью потоков................................189
Потоки данных......................................................................................................223
Веб-приложения...................................................................................................251
Микросервисы.......................................................................................................279
Синхронизация.....................................................................................................303
Асинхронные очереди.........................................................................................327
Управление подпроцессами. .............................................................................350
Продвинутое использование asyncio...............................................................365

Содержание
Оглавление............................................................................................................. 6
Предисловие......................................................................................................... 12
Благодарности..................................................................................................... 14
Об этой книге...................................................................................................... 15
Об авторе............................................................................................................ 19
Об иллюстрации на обложке............................................................................... 20

1

2

Первое знакомство с asyncio...................................................... 21
1.1
1.2

Что такое asyncio?.................................................................................... 22
Что такое ограниченность производительностью ввода-вывода
и ограниченность быстродействием процессора................................. 24
1.3
Конкурентность, параллелизм и многозадачность.............................. 25
1.3.1
Конкурентность............................................................................ 25
1.3.2
Параллелизм. ................................................................................ 26
1.3.3
Различие между конкурентностью и параллелизмом..................... 27
1.3.4
Что такое многозадачность......................................................... 28
1.3.5
Преимущества кооперативной многозадачности.......................... 28
1.4
Процессы, потоки, многопоточность и многопроцессность................ 29
1.4.1
Процесс. ........................................................................................ 29
1.4.2
Поток. .......................................................................................... 29
1.5
Глобальная блокировка интерпретатора............................................... 33
1.5.1
Освобождается ли когда-нибудь GIL?............................................. 37
1.5.2
Аsyncio и GIL.................................................................................. 39
1.6
Как работает однопоточная конкурентность........................................ 39
1.6.1
Что такое сокет?......................................................................... 39
1.7
Как работает цикл событий.................................................................... 41
Резюме................................................................................................................. 44

Основы asyncio........................................................................................ 45
2.1
2.2
2.3

Знакомство с сопрограммами................................................................ 46
Создание сопрограмм с по­мощью ключевого слова async................. 46
Приостановка выполнения с по­мощью ключевого слова await......... 48
Моделирование длительных операций с по­мощью sleep.................... 49
Конкурентное выполнение с по­мощью задач....................................... 52
2.1.1
2.1.2

Содержание

8

2.4

2.3.1
2.3.2

Основы создания задач................................................................... 52
Конкурентное