Раздел 45 · Python backend: Тарбадель

Потоки внутри asyncio

middle-senior~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

К концу прошлого урока курьеры Аурии стучат вежливо и в пределах. Пока один не приносит страницу на сорок тысяч строк, и весь обход встаёт на полсекунды.

У цикла asyncio один поток. Пока корутина отдаёт ход на await, цикл ведёт других. Но если корутина считает, разбирает или зовёт функцию, которая блокирует поток, хода никто не получает: цикл стоит вместе с ней. Сегодня ты научишься находить такие места и отдавать тяжёлую работу в сторону: в поток, в процесс или по кусочкам, с sleep(0) между ними. И строить мост обратно, из потока в цикл.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.