Мэттью Фаулер - Asyncio и конкурентное программирование на Python
Название: | Asyncio и конкурентное программирование на Python | |
Автор: | Мэттью Фаулер | |
Жанр: | Python | |
Изадано в серии: | неизвестно | |
Издательство: | ДМК Пресс | |
Год издания: | 2022 | |
ISBN: | 978-5-93700-166-5 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Asyncio и конкурентное программирование на Python"
Из данной книги вы узнаете, как работает библиотека asyncio, как написать первое реальное приложение и как использовать функции веб-API для для повышения производительности, пропускной способности и отзывчивости приложений на языке Python. Рассматривается широкий круг вопросов: от модели однопоточной конкурентности до многопроцессорной обработки. Издание будет полезно не только Python-разработчикам, но и всем программистам, которые хотят лучше понимать общие проблемы конкурентности.
Читаем онлайн "Asyncio и конкурентное программирование на Python". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (65) »
Основы 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
Конкурентное выполнение нескольких задач. ................................. 53
Снятие задач и задание тайм-аутов...................................................... 56
Снятие задач................................................................................. 56
Задание тайм-аута и снятие с помощью wait_for.......................... 57
2.5
Задачи, сопрограммы, будущие объекты и объекты,
допускающие ожидание......................................................................... 59
2.5.1
Введение в будущие объекты.......................................................... 59
2.5.2
Связь между будущими объектами, задачами и сопрограммами..... 61
2.6
Измерение времени выполнения сопрограммы с помощью
декораторов............................................................................................. 62
2.7
Ловушки сопрограмм и задач................................................................. 65
2.7.1
Выполнение счетного кода............................................................. 65
2.7.2
Выполнение блокирующих API........................................................ 67
2.8
Ручное управление циклом событий..................................................... 68
2.8.1
Создание цикла событий вручную.................................................. 69
2.8.2
Получение доступа к циклу событий.............................................. 69
2.9
Отладочный режим................................................................................. 70
2.9.1
Использование asyncio.run.............................................................. 70
2.9.2
Использование аргументов командной строки. ............................. 71
2.9.3
Использование переменных окружения........................................... 71
Резюме................................................................................................................. 72
2.4.1
2.4.2
3
4
Первое приложение asyncio.......................................................... 74
3.1
3.2
Работа с блокирующими сокетами........................................................ 75
Подключение к серверу с помощью telnet............................................ 78
3.2.1
Чтение данных из сокета и запись данных в сокет......................... 79
3.2.2
Разрешение нескольких подключений и опасности блокирования.... 80
3.3
Работа с неблокирующими сокетами.................................................... 82
3.4
Использование модуля selectors для построения цикла событий
сокетов..................................................................................................... 86
3.5
Эхо-сервер средствами цикла событий asyncio.................................... 89
3.5.1
Сопрограммы цикла событий для сокетов..................................... 89
3.5.2
Проектирование асинхронного эхо-сервера.................................... 90
3.5.3
Обработка ошибок в задачах......................................................... 92
3.6
Корректная остановка............................................................................. 94
3.6.1
Прослушивание сигналов................................................................ 95
3.6.2
Ожидание завершения начатых задач. .......................................... 96
Резюме................................................................................................................. 99
Конкурентные веб-запросы........................................................101
4.1
4.2
4.3
4.4
4.5
Введение в aiohttp..................................................................................102
Асинхронные контекстные менеджеры...............................................103
4.2.1
Отправка веб-запроса с помощью aiohttp.....................................105
4.2.2
Задание тайм-аутов в aiohttp......................................................107
И снова о конкурентном выполнении задач........................................108
Конкурентное выполнение запросов с помощью gather.....................111
4.4.1
Обработка исключений при использовании gather.........................113
Обработка результатов по мере поступления......................................115
4.5.1
Тайм-ауты в сочетании с as_completed.........................................117
Содержание
9
4.6
Точный контроль с помощью wait........................................................119
4.6.1
Ожидание завершения всех задач..................................................119
4.6.2
Наблюдение за исключениями.......................................................122
4.6.3
Обработка результатов по мере завершения...............................123
4.6.4
Обработка тайм-аутов...............................................................126
4.6.5
Зачем оборачивать сопрограммы задачами?................................127
Резюме................................................................................................................128
5
Неблокирующие драйверы баз данных..............................130
5.1
5.2
5.3
5.4
5.5
Введение в --">
- 1
- 2
- 3
- 4
- . . .
- последняя (65) »
Книги схожие с «Asyncio и конкурентное программирование на Python» по жанру, серии, автору или названию:
Пратик Джоши - Искусственный интеллект с примерами на Python Жанр: Искусственный интеллект Год издания: 2019 |
Владимир Александрович Дронов, Николай Прохоренок - Python 3 и PyQt 6. Разработка приложений Жанр: Программирование: прочее Год издания: 2023 |
Харви Дейтел, Пол Дейтел - Python: Искусственный интеллект, большие данные и облачные вычисления Жанр: Python Год издания: 2020 Серия: Для профессионалов |
Джейсон Бриггс - Python для детей. Самоучитель по программированию Жанр: Python Год издания: 2017 |