|
rss_habr
19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 2. Блокирующие сокеты и многозадачностьПонедельник, 11 Июля 2022 г. 15:17 (ссылка)
Во второй части нашего похода за сокетами мы от теоретического их рассмотрения перейдем к практике. Мы разберемся, чем плохи блокирующие сокеты, как решить проблему одновременной обработки соединений с помощью процессов, и почему потоки использовать лучше. Попутно разберемся с проблемами синхронизации потоков и зачем нужен GIL. В конце нам должно стать понятно, что с процессами и потоками нужно уметь работать, но никогда не стоит их использовать в реальных проектах, а применять вместо них системный вызов select и асинхронность. Читать далееhttps://habr.com/ru/post/676118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676118
rss_habr
19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 1. ВведениеВоскресенье, 10 Июля 2022 г. 17:14 (ссылка)
Дабы исчерпать до дна тему сокетов в Python я решил изучить все возможные способы их использования в данном языке. Чтобы всех их можно было испытать и попробовать на зуб, были созданы 19 версий простого эхо-сервера: от примитивного использования класса socket до asyncio. Блокирующие и неблокирующие сокеты, процессы и потоки, select'ы и selector'ы, коллбеки и сопрограммы — все эти темы расположены в эволюционном порядке, чтобы один пример плавно перетекал в другой. Отдельно разобрано появление асинхронности в Python. На примерах детально показано, как и зачем появились итераторы, из них — генераторы, сопрограммы. Ближе к концу построен учебный макет библиотеки asyncio с минимально необходимым кодом, чтобы любой (даже такой, как я) смог разобраться, как на самом деле устроена асинхронность, как там все внутри работает. Пишу подробно, чтобы случайно чего не пропустить. Поэтому понятно должно быть всем. Читать далееhttps://habr.com/ru/post/676110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676110
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |