创建守护进程线程



我正试图在Windows下创建一个守护进程线程,但我不知道我做错了什么。下面的代码就像一个普通的线程:我没有看到"结束运行"写入控制台。有什么建议吗?

def start(self):         
    self.isrunning = True        
    self.thread = threading.Thread(name="GPS Data", target=self.thread_run)
    self.thread.setDaemon(True)
    self.thread.run()
    print "End Run"

def thread_run(self):
    while self.isrunning:
        data  = self.readline()
        print(data)

以下内容:

self.thread.run()

应为:

self.thread.start()

否则,thread_run()将在当前线程的上下文中被调用,而不是在新线程的上下文。

thread_run()函数永远不会返回(因为self.isrunning永远不会更改),并且代码永远不会到达print语句。

最新更新