线程池版的SocketServer

来源:互联网 发布:南京碎尸案 知乎 编辑:程序博客网 时间:2024/04/27 18:54

python的SocketServer模块提供了一个开发socket server的捷径。但是其自带的异步handler ThreadingMixIn每次处理请求是都会产生一个新的线程,在负载较重的时候会有一些问题。需要一个使用线程池的TCPServer. 

具体的代码如下: 

 

 


继承自TCPServer和object。 
继承object的原因是需要使用super调用父类的方法,需要使用new style的类。 
process_request方法在有请求到来的时候被调用。 
它将request和客户端地址放到一个队列里。

 

配合一个RequestHandler,就可以轻松的实现一个线程池版的TCPServer 

 

 

 

原创粉丝点击