Создание асинхронных приложений - это сложная тема в любом языке программирования, а в Python все еще усложняется наличием GIL (Global Interpreter Lock), который во многих случаях не позволяет использовать многоядерность процессоров. Но, как говорится, есть нюансы.
Недавно вышедшая на русском языке книга Мэттью Фаулера "Asyncio и конкурентное программирование на Python" эти самые нюансы раскрывает. В этой книге рассказывается и об асинхронном программировании, и о многопоточном, и о многопроцессном, и даже о том, как их скрещивать между собой (например, когда имеет смысл запускать асинхронный код в отдельном потоке). И вообще зачем нужны потоки в Python, если его интерпретатор по сути однопоточный (не все так однозначно).
Написал обзор этой книги себе в блог - https://jenyay.net/blog/2023/03/12/kniga-mehttyu-faulera-asyncio-i-konkurentnoe-programmirovanie-na-python/
Обзоры других книг можете найти на странице https://jenyay.net/Books/HomePage
#python #книги #asyncio #программирование
Недавно вышедшая на русском языке книга Мэттью Фаулера "Asyncio и конкурентное программирование на Python" эти самые нюансы раскрывает. В этой книге рассказывается и об асинхронном программировании, и о многопоточном, и о многопроцессном, и даже о том, как их скрещивать между собой (например, когда имеет смысл запускать асинхронный код в отдельном потоке). И вообще зачем нужны потоки в Python, если его интерпретатор по сути однопоточный (не все так однозначно).
Написал обзор этой книги себе в блог - https://jenyay.net/blog/2023/03/12/kniga-mehttyu-faulera-asyncio-i-konkurentnoe-programmirovanie-na-python/
Обзоры других книг можете найти на странице https://jenyay.net/Books/HomePage
#python #книги #asyncio #программирование
👍4