我有我的 python baseHTTPServer 服务器,它处理发布请求。我使用了 ThreadingMixIn,它现在为每个连接打开一个线程。我希望执行几个多线程操作,例如: 1. 通过为每个计数器添加 1 来监视成功/失败的连接活动。我需要一把锁。我的计数器在同一个文件的全局范围内。我怎样才能做到这一点?2. 我希望处理某种队列并将其写入文件,其中队列的内容是一组字符串,从我的不同线程写入,它只是发送一些用于记录问题的信息。怎么做到呢?我无法做到这一点,因为我的线程是在“幕后”完成的,因为每次我在 do_POST(..) 方法中,我已经在不同的线程中。
Succcessful_Logins = 0
Failed_Logins = 0
LogsFile = open(logfile)
class httpHandler(BaseHTTPRequestHandler):
def do_POST(self):
..
class ThreadingHTTPServer(ThreadingMixIn, HTTPServer):
pass
server = ThreadingHTTPServer(('localhost', PORT_NUMBER), httpHandler)
server.serve_forever()
这是我的服务器的一个小脆弱。困扰我的另一件事是我想首先将发布响应发送回客户端,然后才可能由于锁定机制或其他原因而延迟。