Я только начал изучать сокеты на Python.Итак, я написал несколько примеров серверов и клиентов чата.Большая часть того, что я видел в Интернете, похоже, использует модуль потоков для (асинхронной) обработки клиентских подключений к серверу.Я понимаю, что для масштабируемого сервера вам нужно использовать некоторые дополнительные приемы, потому что тысячи потоков могут убить сервер (поправьте меня, если я ошибаюсь, но это из-за GIL?), Но на данный момент это не моя проблема.
Странно, что где-то в документации по Python я обнаружил, что создание подпроцессов - это правильный путь (к сожалению, я потерял ссылку, извините :() для обработки сокетов.
Итаквопрос в том, чтобы использовать многопоточность или многопроцессорность? Или есть даже лучшее решение?
Пожалуйста, дайте мне ответ и объясните мне разницу.
Кстати: Я знаю, что есть такие вещи, как Twisted, которые хорошо написаны. Я не ищу готовый масштабируемый сервер, я вместо этого пытаюсь понять, как написать тот, который может быть масштабирован или будет иметь дело по крайней мере с 10 КБклиенты.
РЕДАКТИРОВАТЬ: Операционная система Linux.