{
 "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
}
