如何 运行 python 中的后台线程

How to run a thread in the background in python

class CORSRequestHandler (SimpleHTTPRequestHandler):

  def do_GET(self):
    thread1 = threading.Thread(target=test())
    thread1.daemon = True
    thread1.start()
    return SimpleHTTPRequestHandler.do_GET(self)

def test():
    while True:
        print "Hello"
        time.sleep(2)


if __name__ == '__main__':
    BaseHTTPServer.test(CORSRequestHandler, BaseHTTPServer.HTTPServer)

我需要 运行 服务器同时在后台打印 Hello。你能告诉我我做错了什么吗,因为如果尝试输入 url 页面永远不会加载。但是正在打印 Hello 并且服务器确实启动了。

您需要在 threading.Threadtarget 关键字参数中传递方法 test,而不是 test returns。 所以,替换

thread1 = threading.Thread(target=test())

thread1 = threading.Thread(target=test)

当您执行 target=test() 测试方法时立即调用,因此无限循环和请求永远不会 returns。