如果我在run方法中有无限循环,如何退出QThread

时间:2016-06-20 21:26:14

标签: python pyqt4 qthread

有这样的运行方法:

def run(self):
    while True:
        new_value = self.client.read_holding_registers(self.reg_num, 1, unit=self.slave_id).registers[0]
        if new_value != self.value:
            self.value = new_value
            self.data_changed.emit(
                {"id": "{0};{1};{2};{3}".format(self.host, self.port, self.slave_id, self.reg_num),
                 "value": self.value})
            self.usleep(100)

所以我需要从连接中捕获即将到来的数据。并且我没有条件来打破这个循环(仅当连接被破坏时)。那我怎么必须从我的线程终止?

1 个答案:

答案 0 :(得分:0)

您熟悉daemon是什么吗?如果您希望线程始终在整个应用程序停止时运行并退出,那么您需要将其作为守护程序。