我需要在python 3中创建一个多线程Web服务器,其中每个请求都获得一个新线程。我遵循了博客中的一个基本示例。但是,服务器始终处于阻塞状态,因为在1个线程中调用的sleep会阻塞其他线程。有人可以帮我吗?
这是我的代码
import time
from http.server import HTTPServer, BaseHTTPRequestHandler
from socketserver import ThreadingMixIn
import threading
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.end_headers()
print('start-->')
time.sleep(5)
print('end-->')
self.wfile.write("Test".encode())
class ThreadingSimpleServer(ThreadingMixIn, HTTPServer):
pass
def run():
server = ThreadingSimpleServer(('0.0.0.0', 1234), Handler)
server.serve_forever()
if __name__ == '__main__':
run()
我的问题是,如果我向服务器发送2个请求,则第二个请求仅在第一个请求完成后才开始执行。我需要使睡眠处于自己的线程中,而又不影响其他线程。我将不胜感激。