【发布时间】:2014-02-06 20:37:57
【问题描述】:
我想将一个 Queue 对象传递给一个基本的 ThreadedHTTPServer 实现。我现有的代码工作得很好,但我想要一种安全的方式来发送和接收我的 HTTP 请求的调用。通常这可能由 Web 框架处理,但这是一个硬件受限的环境。
我的主要困惑在于如何传递 Queue(或任何)对象以允许访问我环境中的其他模块。
我目前正在运行的基本代码模板:
import base64,threading,urlparse,urllib2,os,re,cgi,sys,time
import Queue
class DemoHttpHandler(BaseHTTPRequestHandler):
def __init__(self, request, client_address, server,qu):
BaseHTTPRequestHandler.__init__(self, request, client_address, server)
def do_GET(self):
...
class ThreadedHTTPServer(ThreadingMixIn, HTTPServer):
"""Handle requests in a separate thread."""
def main():
listen_interface = "localhost"
listen_port = 2323
server = startLocalServer.ThreadedHTTPServer((listen_interface, listen_port), startLocalServer.DemoHttpHandler)
server_thread = threading.Thread(target=server.serve_forever)
server_thread.daemon = True
server_thread.start()
print 'started httpserver thread...'
【问题讨论】:
标签: python multithreading http queue