{ "cells": [ { "cell_type": "markdown", "id": "caba6fd4", "metadata": {}, "source": [ "# Многопоточное и асинхронное программирование #\n", "\n", "Пятый блок посвящен одной из самых актуальных тем современного мира разработки — асинхронному и многопоточному программированию. Вы узнаете про процессы и потоки, а также научитесь писать асинхронный код с помощью `asyncio`." ] }, { "cell_type": "markdown", "id": "cfec6f06", "metadata": {}, "source": [ "## Задачи обучения ##\n", "\n", "- Научиться писать многопоточный код на Python.\n", "- Научиться писать асинхронный код на Python.\n", "- Научиться работать с сетью.\n", "- Получить знания о процессах и потоках ОС." ] }, { "cell_type": "markdown", "id": "ee68e033", "metadata": {}, "source": [ "## Оглавление ##" ] }, { "cell_type": "markdown", "id": "78fa6464", "metadata": {}, "source": [ "### Процессы и потоки ###\n", "\n", "- [Процесс и его характеристики](1.%20Процессы%20и%20потоки/Процесс%20и%20его%20характеристики.ipynb)\n", "- [Создание процессов](1.%20Процессы%20и%20потоки/Создание%20процессов.ipynb)\n", "- [Создание потоков](1.%20Процессы%20и%20потоки/Создание%20потоков.ipynb)\n", "- [Синхронизация потоков](1.%20Процессы%20и%20потоки/Синхронизация%20потоков.ipynb)\n", "- [Глобальная блокировка интерпретатора](1.%20Процессы%20и%20потоки/Глобальная%20блокировка%20интерпретатора.ipynb)\n", "- [Документация](1.%20Процессы%20и%20потоки/Документация.ipynb)\n", "- [Тест по процессам и потокам](1.%20Процессы%20и%20потоки/Тест%20по%20процессам%20и%20потокам.ipynb)" ] }, { "cell_type": "markdown", "id": "4b69a184", "metadata": {}, "source": [ "### Работа с сетью, сокеты ###\n", "\n", "- [Сокеты, клиент-сервер](2.%20Работа%20с%20сетью,%20сокеты/Сокеты,%20клиент-сервер.ipynb)\n", "- [Таймауты и обработка сетевых ошибок](2.%20Работа%20с%20сетью,%20сокеты/Таймауты%20и%20обработка%20сетевых%20ошибок.ipynb)\n", "- [Обработка нескольких соединений](2.%20Работа%20с%20сетью,%20сокеты/Обработка%20нескольких%20соединений.ipynb)\n", "- [Документация](2.%20Работа%20с%20сетью,%20сокеты/Документация.ipynb)\n", "- [Тест по работе с сетью и сокетами](2.%20Работа%20с%20сетью,%20сокеты/Тест%20по%20работе%20с%20сетью%20и%20сокетами.ipynb)" ] }, { "cell_type": "markdown", "id": "5ebb0f04", "metadata": {}, "source": [ "### Асинхронное программирование ###\n", " \t\n", "- [Исполнение кода в одном потоке, модуль select](3.%20Асинхронное%20программирование/Исполнение%20кода%20в%20одном%20потоке,%20модуль%20select.ipynb)\n", "- [Итераторы и генераторы, в чём разница?](3.%20Асинхронное%20программирование/Итераторы%20и%20генераторы,%20в%20чём%20разница%3F.ipynb)\n", "- [Генераторы и сопрограммы](3.%20Асинхронное%20программирование/Генераторы%20и%20сопрограммы.ipynb)\n", "- [Первые шаги с asyncio](3.%20Асинхронное%20программирование/Первые%20шаги%20с%20asyncio.ipynb)\n", "- [Работа с asyncio](3.%20Асинхронное%20программирование/Работа%20с%20asyncio.ipynb)\n", "- [Документация](3.%20Асинхронное%20программирование/Документация.ipynb)\n", "- [Клиент для отправки метрик](3.%20Асинхронное%20программирование/Клиент%20для%20отправки%20метрик.ipynb)\n", "- [Тест по блоку](3.%20Асинхронное%20программирование/Тест%20по%20блоку.ipynb)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.8" } }, "nbformat": 4, "nbformat_minor": 5 }