Многопоточный сервер на Python 3

На моем сервере выполняются скрипты написанные тоже на python. Я создал html страничку где пользователь вводит информацию, которая отправляется в эти скрипты, и получает результат. Все прекрасно работает. Но работает только в 1 поток, то есть, если первый человек кидает запрос, и в это же время кидает запрос второй человек, то все перестает работать, при этом никакой ошибки не появляется. Вот код запуска моего сервера. Как это исправить?

from http.server import HTTPServer, CGIHTTPRequestHandler
server_address = ("localhost", 8000)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()

Ответы (1 шт):

Автор решения: eri

Начиная с версии 3.7 можно использовать http.server.ThreadingHTTPServer вместо HTTPServer

Для более ранних версий нужно определить класс

class ThreadingHTTPServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
    pass

Чтоб загрузить все ядра (сложные вычисления) есть ForkingMixIn

→ Ссылка