Курс на Stepik
Обложка курса «Асинхронность в Python» на Stepik
Бесплатно

Асинхронность в Python ★ 0.000

Открыть на
STEPIK.ORG

Курс посвящен асинхронному программированию на Python с использованием библиотеки asyncio. На курсе рассмотрим все основные возможности этой библиотеки. Посмотрим на исходный код библиотеки и самостоятельно реализуем часть функционала, который предоставляет asyncio. Рассмотрим базовые возможности библиотеки aiohttp.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Асинхронность в Python»Учеников на курсе 12
Сертификаты, выданные на курсе «Асинхронность в Python»Сертификатов выдано 0
Отзывы о курсе «Асинхронность в Python»Отзывов получено 0
Рейтинг курса «Асинхронность в Python»Рейтинг курса 0.000
Уроки в курсе «Асинхронность в Python»Количество уроков 52
Время прохождения курса «Асинхронность в Python»Время прохождения курса —
Обновления курса «Асинхронность в Python»Обновления курса — —
Дата публикации курса «Асинхронность в Python»Дата публикации курса — ———
Последнее обновление курса «Асинхронность в Python»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Асинхронность в Python» 15 разделов Уроки в курсе «Асинхронность в Python» 52 урока Время прохождения курса «Асинхронность в Python» 0 ч. Последнее обновление курса «Асинхронность в Python» обн. 1 год назад

Асинхронность. Основные понятия

10 уроков
1. Синхронное и асинхронное выполнение программы ↗
2. Многозадачность. Кооперативная и вытесняющая. ↗
3. IO-bound и CPU-bound задачи ↗
4. Сокеты ↗
5. Селектор ↗
6. Процессы ↗
7. Потоки ↗
8. Глобальная блокировка интерпретатора - GIL ↗
9. Управление памятью в python ↗
10. Состояние гонки ↗

Итератор, генератор и корутина

3 урока
1. Итератор ↗
2. Генератор ↗
3. Корутина ↗

Объекты Awaitable, Future и Task

4 урока
1. Контекстные переменные - Context и ContextVar ↗
2. Объект Awaitable ↗
3. Объект Future ↗
4. Объект Task ↗

Событийный цикл

2 урока
1. Как работает событийный цикл ↗
2. Получение событийного цикла ↗

Создание задач. Сокеты в asyncio

2 урока
1. Создание задач с помощью create_task, ensure_future ↗
2. Сокеты в asyncio ↗

Запуск приложения и обработка исключений

2 урока
1. Запуск асинхронного приложения - функция asyncio.run ↗
2. Обработка исключений в асинхронном коде ↗

Ограничение времени выполнения задачи

3 урока
1. Инициализация аргументов функции ↗
2. Ограничение времени ожидания задачи - функция asyncio.wait_for ↗
3. Защита от отмены выполнения задачи - функция asyncio.shield ↗

Асинхронный контекстный менеджер

1 урок
1. Асинхронный контекстный менеджер и блок async with ↗

Завершение работы асинхронного приложения

2 урока
1. Запуск корутины - метод run_until_complete ↗
2. Корректное завершение работы асинхронного приложения ↗

Асинхронный запуск нескольких корутин

6 уроков
1. Декоратор time_excution ↗
2. Конструкция async for ↗
3. Асинхронный запуск нескольких корутин. Функция gather ↗
4. Асинхронный запуск нескольких корутин. Функция as_completed ↗
5. Асинхронный запуск нескольких корутин. Функция wait ↗
6. Псевдо-асинхронный код ↗

Запуск синхронной функции в событийном цикле

3 урока
1. Запуск функции через таймаут - call_later ↗
2. Запуск функции так скоро, насколько это возможно - call_soon ↗
3. Запуск функции в определенное время - метод call_at ↗

Запуск функции в отдельном процессе и потоке

4 урока
1. Запуск функции - метод run_in_executor ↗
2. ThreadPoolExecutor ↗
3. ProcessPoolExecutor ↗
4. Запуск функции в отдельном потоке - asyncio.to_thread ↗

Асинхронная очередь

1 урок
1. Асинхронная очередь ↗

Синхронизация

6 уроков
1. Состояние гонки при асинхронном выполнении задач ↗
2. Примитив Lock ↗
3. Примитив Semaphore ↗
4. Примитив BoundedSemaphore ↗
5. Примитив Event ↗
6. Примитив Condition ↗

Библиотека aiohttp

3 урока
1. Основные возможности библиотеки aiohttp ↗
2. Отправка и прием файлов ↗
3. WebSocket ↗